使用Spring配置数据源JdbcTemplate
c3p0作为演示
1.编写资源文件(db.properties)
jdbc.user=root jdbc.password=root jdbc.jdbcUrl=jdbc:mysql://localhost:3306/spring jdbc.driverClass=com.mysql.jdbc.Driver
2.在SpringXML配置中获取数据源资源文件
<context:property-placeholder location="classpath:db.properties"/>
3.配置c3p0的连接参数
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="driverClass" value="${jdbc.driverClass}"></property>
</bean>
4.配置spring的jdbcTemplale bean
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
到这里数据源已经配置好了,直接获取bean就可以使用了。
案例:
修改前的数据:
修改后的数据:
操作代码:
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); JdbcTemplate jdbcTemplate = (JdbcTemplate) ac.getBean("jdbcTemplate"); String sql = "update tb_student set name='lisi' where id=2 "; jdbcTemplate.update(sql);
其他的操作和原生jdbc没什么太大区别。
配置NamedParameterJdbcTemplate只需要通过构造注入dataSource就OK
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> <constructor-arg ref="dataSource"></constructor-arg> </bean>
操作代码:
NamedParameterJdbcTemplate jdbcTemplate = (NamedParameterJdbcTemplate) ac.getBean("namedParameterJdbcTemplate"); String sql = "update tb_student set name=:name where id=:id "; Map<String, Object> map = new HashMap(); map.put("name","lisi2"); map.put("id",2); jdbcTemplate.update(sql, map);
学习是永无止境的。