- JDBC Template
- Spring提供的用于操作JDBC的工具类。类似于JDBCUtils。是对操作数据库的语句控模型模板化的封装,让开发者值关注于数据库的SQL语句即可
- JDBCTemplate也要依赖于数据源(Data Source)
(就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接)
导入jar包:
JDBC的使用场景:DaoImplement中
- 我们之前想用datasource都得自己new出来
private static DataSource datasource;
{
dataSource =new ComboPooledDataSource(mysql);
}
public static DataSource getDataSource(){
}
然后使用MyC3P0DataSource.getDataSource()获取DataSource
- 现在在Spring下:
<bean id ="service" class="com.bamzhy.bean.service.impl.UserServiceImpl">
<property name="dao" ref="mydao"/>
</bean>
<bean id="mydao" class="com.bamzhy.bean.dao.impl.UserDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg name="dataSource" ref="datasource"/>
</bean>
<!--这里就类似于DataSource里边的set方法-->
<bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/dbutils"/>
<property name="user" value="root"/>
<property name="password" value="12345"/>
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
</bean>
流程:service里边的dao ref=mydao,mydao ref=jdbcTemplate,jdbcTemplate ref=dataSource,然后DataSource里边的值用property注入。
平常在开发的过程中会经常发现突然出现一个Dao dao这样的引用,没有指向任何实例。
不要感觉到惊讶,实例化的过程在Spring里边已经做了。
- 使用JDBCDaoSupport
每个DAO都需要声明template而且要写set方法。所以让DAO继承JdbcDaoSupport,就可以不用写setTemplate方法了。