本问简单介绍JDBC的基础使用,后续会深入总结。简单的JDBC常用步骤如下:
1、 加载驱动
2、 连接字符串,用户名,密码
3、 创建连接Connection
4、 关闭事务自动提交(可选)
5、 拼接执行SQL语句
6、 创建Statement或PreparedStatement
7、 执行SQL,语句。返回ResultSet 或其他参数
8、 提交事务(可选,根据4)
9、 关闭数据库连接
在使用中PreparedStatement更常见,预处理速度更快
通过一个实例展示,(异常在方法中全部抛出,省得捕获,实际使用中不可取):
Connection conn = null;
String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8";
String username="root";
String password="root";
Class.forName("com.mysql.jdbc.Driver");
//加载驱动
conn=DriverManager.getConnection(url,username,password);
//关闭事务自动提交
conn.setAutoCommit(false);
System.out.println(conn);
//创建Statement
Statement stmt=conn.createStatement();
//执行SQL语句
String sql="SELECT * FROM USER";
//执行返回ResultSet
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
System.out.println("id:"+rs.getInt(1)+" name:"+rs.getString(2)+" age:"+rs.getInt(3));
}
//PreparedStatement查询
PreparedStatement pstmt=conn.prepareStatement("SELECT * FROM USER WHERE id=?");
pstmt.setInt(1, 2);
ResultSet rs2=pstmt.executeQuery();
if(rs2.next()){
System.out.println("rs2 id:"+rs2.getInt(1)+" name:"+rs2.getString(2)+" age:"+rs2.getInt(3));
}
//插入操作
pstmt=conn.prepareStatement("INSERT INTO USER VALUES(3,'kit',15)");
if(pstmt.executeUpdate()>0){
System.out.println("插入成功");
}
//提交事务
conn.commit();
//关闭数据库连接
conn.close();