首页 > 代码库 > JDBC数据库连接

JDBC数据库连接

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class MyConnection {
 static Statement statement = null;
 static PreparedStatement preStat = null;
 static ResultSet resultSet = null;
 static Connection con = null;

 public static void main(String[] args) {
  MyConnection mycon = new MyConnection();
  Connection con = mycon.getConnection();
  // ********************数据遍历
  // Statement用来执行sql语句
  try {
   statement = con.createStatement();

   // 要执行的SQL语句
   String sql = "select * from Student";

   // 结果集
   resultSet = statement.executeQuery(sql);

   // 遍历数据
   while (resultSet.next()) {

    String Sid = resultSet.getString(1);
    String Sname = resultSet.getString(2);
    String Sage = resultSet.getString(3);
    String Ssex = resultSet.getString(4);
    String Szhuanye = resultSet.getString(5);

    System.out.println("Sid:" + Sid + "  Sname:" + Sname
      + "  Sage:" + Sage + "  Ssex:" + Ssex + "  Szhuanye:"
      + Szhuanye);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  // ************执行增删改 字符串的拼接 *********
  // insert into student valuse(‘"+Sid+"‘,‘"+Sname+"‘.......);

  // ****************预处理执行增删改**************
  String insert = "insert into student values(?,?,?,?,?)";
  String update = "update student set Sname=? where Sid=?";
  String delete = "delete from student where Sid=?";

  // 增加数据
  try {
   preStat = con.prepareStatement(insert);

   // 这里可能还要判断一下数据库的约束条件
   preStat.setString(1, "100080");
   preStat.setString(2, "我试试");
   preStat.setString(3, "100");
   preStat.setString(4, "男");
   preStat.setString(5, "100080");

   // 执行sql语句
   preStat.executeUpdate();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

  // **********更新数据
  try {
   preStat = con.prepareStatement(update);

   preStat.setString(1, "更改");
   preStat.setString(2, "100080");

   preStat.executeUpdate();

  } catch (SQLException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }

  // **********删除数据
  try {
   preStat = con.prepareStatement(delete);

   preStat.setString(1, "100080");

   preStat.executeUpdate();
  } catch (SQLException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }

  // ************************预处理语句PreparedStatement 查询数据

  try {
   preStat = con.prepareStatement("select * from Student where Sid=?");
   // 设置参数 表示 第一个参数 为100002
   preStat.setString(1, "100080");
   // 执行预处理语句
   resultSet = preStat.executeQuery();

   // 遍历数据
   while (resultSet.next()) {

    String Sid = resultSet.getString(1);
    String Sname = resultSet.getString(2);
    String Sage = resultSet.getString(3);
    String Ssex = resultSet.getString(4);
    String Szhuanye = resultSet.getString(5);

    System.out.println("Sid:" + Sid + "  Sname:" + Sname
      + "  Sage:" + Sage + "  Ssex:" + Ssex + "  Szhuanye:"
      + Szhuanye);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }

 // 数据库连接方法
 public Connection getConnection() {
  // 驱动程序名
  String driver = "com.mysql.jdbc.Driver";
  // URL指向要访问的数据库名score
  String url = "jdbc:mysql://localhost:3306/score?useUnicode=true&characterEncoding=UTF-8";
  //注意score后面家的代码是指定编码   不知道 有可能乱码   
  // String url="jdbc:mysql://127.0.0.1:3306/score";
  // MySQL配置时的用户名
  String user = "root";
  // MySQL配置时的密码
  String password = "123456";

  try {
   // 加载驱动 通过名字把类的源数据对象加载到内存中
   Class.forName(driver);

   // 连续数据库
   con = DriverManager.getConnection(url, user, password);

   if (!con.isClosed())
    System.out.println("数据库连接成功!");

  } catch (Exception e) {
   e.printStackTrace();
  }

  return con;
 }

}