自己写一个工具类:
jndi的方式:
程序中获得连接的代码:死记住
自定义工具类:
具体方法:我们可以进行增删改
调用时:
query方法的调用:
apache提供了Dbutils类可以帮助我们封装javabean
用法:
dao层:应该只做访问数据库问题,不应该存在业务,例如就存在业务
我们需要对不同sql的处理抽取为方法:给service用,但是由于事务原因,我们需要将con,递给不同的sql处理方法,所以service中有了Connection 等sql包下的类,不能很好的解耦,我们需要继续 优化:
自定义的jdbcUtils需要实现 beginTransaction和commintTrasaction,和rollcackTransaction
为了事务,我们需要定义一个连接 ,用来处理事务:
并且需要重写getConnnection:
然后重写一个TxQueryRunner,然后重写其中的方法:
重写里面方法中没有connection参数的所有方法(下面以batch为例,其他的方法类似):
将原来的改为如下代码
重写为:
dao调用的时候:
service调动
service:调用时
这样:当开启事务:则jdbcUtils中的con 变量不为空,所以调用的时候,dao中用的都是 con
当没有开启事务,dao中调用的都是从连接池中得到的连接
上午代码有问题:不能再多线程下使用