第5章 征服数据库
5.1 spring的数据k库访问哲学
spring的数据库对异常有诸多处理。比JDBC丰富很多。
数据访问模板画:1,准备资源 2,开始事务 3,在事务中执行 4,返回数据 5,提交/回滚事务 6,关闭资源和处理事务
其中1,2,,5,6是固定的DAO模块。 3,4是可变的DAO回调。
5.2 配置数据源
有使用JNDI的数据源,基于JDBC驱动的数据源。但最适用的是使用数据源连接池。
使用数据库连接池:在spring的配置文件中配置BasicDataSource:一个bean元素,4个property属性,分别是驱动,url,账户和密码。还可以配置一些关于连接池相关的属性。比如池启动创建的连接数量,同一时间池中分配的最多连接数。
pick up:
连接池:连接池中一开始就有一些连接,当需要和数据库交互时,就会拿一个连接使用,当池中的连接不够用时,就会重新创建,但连接使用完后,连接会放到连接池中置于空闲状态,还可使用。(一个线程一般只需要一个连接????只用一个数据库连接的不适合多线程使用)
5.3 在spring中使用JDBC
基本不会再用到跳过
5,4 在spring中集成HIbernate
1,延迟加载:在一个对象的一个属性是一个对象,现在只需要该对象的非对象属性。借助延迟加载,可以只抓取需要的数据。
2,预先抓取:与延迟加载相对。需要该对象的对象属性时,借助预先抓取可以在一个操作中将他们全部提取出来,节省了很多查询成本。
3,级联:更改数据库中的表时会同时更改数据库关联的其它表。