JDBC原生连接数据库


JDBC插入数据库
// 1. 注册驱动
// 使用java.sql.DriverManager类的静态方法registerDriver(Driver driver)
// Driver是一个接口,参数传递:MySQL驱动程序的实现类
// DriverManager.registerDriver(new Driver());
// 查看驱动类源码,注册两次驱动,浪费资源
Class.forName("com.mysql.jdbc.Driver");
// 2. 获得连接
// uri:数据库地址 jdbc:mysql://连接主机ip:端口号//数据库名字
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
// static Connection getConnection(String url, String user, String password)
// 返回值是java.sql.Connection接口的实现类,在MySQL驱动程序中
Connection conn = DriverManager.getConnection(url, "root", "root");
System.out.println(conn);// com.mysql.jdbc.JDBC4Connection@36d650da
// 3. 获得语句执行平台,通过数据库连接对象,获取到SQL语句的执行者对象
//conn对象,调用方法 Statement createStatement() 获取Statement对象,将SQL语句发送到数据库
//返回的是Statement接口的实现类对象,在MySQL驱动程序中
Statement stat = conn.createStatement();
System.out.println(stat);//com.mysql.jdbc.StatementImpl@30563456
// 4. 执行sql语句
//通过执行者对象调用方法执行SQL语句,获取结果
//int executeUpdate(String sql) 执行数据库中的SQL语句,仅限于insert,update,delete
//返回值int,操作成功数据库的行数
int row = stat.executeUpdate("INSERT INTO game(id,name) VALUES(6,'疯狂涨价')");
System.out.println(row);
// 5. 释放资源
stat.close();
conn.close();


JDBC插入数据库链接数据库
// 1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取连接对象
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
Connection conn = DriverManager.getConnection(url, "root", "root");
// 3.获取执行SQL语句
Statement stat = conn.createStatement();
// 拼写SQL语句
String sql = "select * from game";
// 4.调用执行者对象方法,执行SQL语句获取结果集
// 返回的是ResultSet接口的实现类对象,实现类在mysql驱动中
ResultSet rs = stat.executeQuery(sql);
// System.out.println(rs);//com.mysql.jdbc.JDBC4ResultSet@18cef0a
// 5.处理结果集
// ResultSet接口的方法 boolean next() 有结果集true,没有结果集返回false
while (rs.next()) {
// 获取每列的数据,使用的是ResultSet接口的方法getXXX
int id = rs.getInt("id");// 相当于rs.getInt(1);这个方法有弊端
String name = rs.getString("name");
System.out.println(id+"\t"+name+"\t");

}
// 6.关闭资源
rs.close();
stat.close();
conn.close();


//封装对象
public static void main(String[] args) throws Exception {

// 1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取连接对象
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
Connection conn = DriverManager.getConnection(url, "root", "root");
// 3.获取执行SQL语句
Statement stat = conn.createStatement();
// 拼写SQL语句
String sql = "select * from game";
// 4.调用执行者对象方法,执行SQL语句获取结果集
// 返回的是ResultSet接口的实现类对象,实现类在mysql驱动中
ResultSet rs = stat.executeQuery(sql);
// System.out.println(rs);//com.mysql.jdbc.JDBC4ResultSet@18cef0a
// 5.处理结果集
// ResultSet接口的方法 boolean next() 有结果集true,没有结果集返回false
Game game=new Game();
while (rs.next()) {
// 获取每列的数据,使用的是ResultSet接口的方法getXXX
int id = rs.getInt("id");// 相当于rs.getInt(1);这个方法有弊端
String name = rs.getString("name");
System.out.println(id+"\t"+name+"\t");
//如果想要封装成对象

game.setId(String.valueOf(id));
game.setName(name);
System.out.println(game.toString());
}
// 6.关闭资源
rs.close();
stat.close();
conn.close();

}

 需要的jar

mysql-connector-java

猜你喜欢

转载自www.cnblogs.com/foreverstudy/p/10138599.html