JAVA基础之JDBC
@Test
public void jdbcUtil() throws SQLException, ClassNotFoundException {
//1、注册驱动
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/jdbcTest?useUnicode = true && characterEncoding = utf8";
//2、建立连接
Connection conn = DriverManager.getConnection(url, "roog", "root");
//3、执行sql
Statement statement = conn.createStatement;
String sql = "select * from testTable";
ResultSet resultSet = Statement.executeQuery(sql);
//4、遍历结果
while(resultSet.next()) {
String td1 = resultSet.getString(1);
String td2 = resultSet.getString(2);
}
//关闭结果集
resultSet.close();
//关闭statement
statement.close();
//关闭连接
conn.close();
}
ResultSet维持一个指向当前行记录的cursor(游标)指针
1)注册驱动
2)建立连接
3)准备sql语句
4)执行sql语句得到结果集
5)对结果集进行遍历
6)关闭结果集(ResultSet)
7)关闭statement
8)关闭连接
由于jdbc默认自动提交事务,每执行一个update, delete 或 insert的时候,都会自动提交到数据库,无法回滚事务。如需实现事务回滚则需设置:
setAutoCommit(false);
a、true: sql命令的提交(commit)由驱动程序负责
b、false: sql命令的提交应由程序负责,程序需调用commit或者rollback方法
jdbc操作事务的格式如下
try{
conn.setAutoCommit(false);//开启事务
--
--
conn.commit();//提交事务
} catch () {
conn.rollback();//事务回滚
}