1.1 Spring的JdbcTemplate
JdbcTemplate模板与DbUtils工具类比较类似.
1.1.1 Spring对持久层技术支持:
JDBC : org.springframework.jdbc.core.JdbcTemplate
Hibernate3.0 : org.springframework.orm.hibernate3.HibernateTemplate
IBatis(MyBatis) : org.springframework.orm.ibatis.SqlMapClientTemplate
JPA : org.springframework.orm.jpa.JpaTemplate
1.1.2 开发JDBCTemplate入门:
第一步:引入相应jar包:
* spring-tx-3.2.0.RELEASE.jar
* spring-jdbc-3.2.0.RELEASE.jar
* mysql驱动.
第二步:创建applicationContext.xml
第三步:编写一个测试类:
1.1.3 配置连接池:
Spring默认的连接池:
< bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource”>
< property name=”driverClassName” value=”com.mysql.jdbc.Driver”/>
< property name=”url” value=”jdbc:mysql:///spring3_day02”/>
< property name=”username” value=”root”/>
< property name=”password” value=”123”/>
< /bean>
DBCP连接池:
导入jar包:
* com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar
* com.springsource.org.apache.commons.pool-1.5.3.jar
<!-- 配置DBCP连接池 -->
< bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
< property name="driverClassName" value="com.mysql.jdbc.Driver"/>
< property name="url" value="jdbc:mysql:///spring3_day02"/>
< property name="username" value="root"/>
< property name="password" value="123"/>
< /bean>
C3P0连接池:
导入jar包:
* com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar
< bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource”>
< property name=”driverClass” value=”com.mysql.jdbc.Driver”/>
< property name=”jdbcUrl” value=”jdbc:mysql:///spring3_day02”/>
< property name=”user” value=”root”/>
< property name=”password” value=”123”/>
< /bean>
1.1.4 参数设置到属性文件中:
在src下创建jdbc.properties
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql:///spring3_day02
jdbc.user = root
jdbc.password = 123
需要在applicationContext.xml 中使用属性文件配置的内容.
* 第一种写法:
< bean class=”org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”>
< property name=”location” value=”classpath:jdbc.properties”>< /property>
< /bean>
- 第二种写法:
< context:property-placeholder location=”classpath:jdbc.properties”/>
1.1.5 JdbcTemplate的CRUD的操作:
Spring框架中提供了对持久层技术支持的类:
JDBC : org.springframework.jdbc.core.support.JdbcDaoSupport
Hibernate 3.0 : org.springframework.orm.hibernate3.support.HibernateDaoSupport
iBatis : org.springframework.orm.ibatis.support.SqlMapClientDaoSupport
编写DAO的时候:
Public class UserDao extends JdbcDaoSupport{
}
进行CRUD的操作;
* 保存:update(String sql,Object… args)
* 修改:update(String sql,Object… args)
* 删除:update(String sql,Object… args)
查询:
* 简单查询:
* select count(*) from user; — queryForInt(String sql);
* select name from user where id = ?; — queryForObject(String sql,Class clazz,Object… args);
- 复杂查询:(返回对象,和对象集合)
- select * from user where id = ? — queryForObjectString sql,RowMapper rowMapper,Object… args);
- select * from user; — query(String sql,RowMapper rowMapper,Object… args);