经典的JDBC六步
(1)注册数据库驱动
(2)获取数据库连接
(3)发送sql语句
(4)执行sql
(5)遍历结果集
(6)释放资源
最开始用的
(1)createStatement方法发现不能方式SQL注入的问题
(2)prepareStatement方法是防止sql注入的问题 因为它是首先进行预编译,后用的占位符
mySQL中的事物开启命令:start transaction
提交事务:commit
回滚事务:rollback
事务提交的方法有两种
(1)手动提交事务 start transaction
(2)自动提交事务
执行一条sql就是一个事务
JDBC中的事物管理
首先开启事物
conn.setAutoCommit(false)
这中间写sql语句
如果一切正常将提交事务
conn.commit();
如果有异常就回滚事务
conn,rollback();
事务的特性:
原子性: 不可分割 要么都成功,要么都失败
一致性:事务前后数据要一致
持久性:事务提交之后不能被改变
隔离性:事务之间没有关系
不考虑事务的隔离性会带来哪些问题
1)脏读
2)不可重复读
3)虚度或者幻读
数据库的隔离级别:
1)读未提交
2)读以提交 oracle
3)可重复读 mysql
4)串行化
最后jdbc连接数据库优化成了直接用Spring封装的jdbcTemplate
创建模板对象
JdbcTemplate jt = new jdbcTemplate(JDBCUtils.getDruidDataSource());
jt.execute