
正文
Spring 入门之-dao使用jdbcTemplate(注入过程)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
技巧:在为把dataSourc连接池注入到jdbcTemplate里面时,学到一招:按住CTRL 不松,点击相关类名,可以自动跳转或打开。
说明:主要过程,
1、创建UserDao和UserService类
2、在beans1配置文件中,创建注入连接池
<!-- 配置c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="DriverClass" value ="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/user"></property>
<property name="user" value="root"></property>
<property name="password" value="123456"></property>
</bean>
3、在beans1.xml文件中,利用<bean id="" class="> 注入创建UserDao和UserService的类对象。并在UserService中,通过<property name="" ref="" >注入UserDao对象;在UserDao中注入jdbcTemplate对象
<!-- 创建UserService 和UserDao对象,然后在UserService 中注入UserDao对象--> <bean id="userDao" class="spring.c3p0.UserDao">
<!-- 注入jdbcTemplate对象 -->
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean> <bean id="userService" class="spring.c3p0.UserService">
<!-- 注入Dao对象 -->
<property name="userDao" ref="userDao"></property>
</bean>
4、把dataSourc连接池注入到jdbcTemplate里面
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >
<!-- 把dataSourc连接池注入到jdbcTemplate里面 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
TestC3p0.java文件代码:
package spring.c3p0; import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestC3p0 {
@Test
public void testDemo() {
ApplicationContext context = new ClassPathXmlApplicationContext("beans1.xml");
UserService userService = (UserService) context.getBean("userService");
userService.add();
} }
UserDao.java代码
package spring.c3p0; import org.springframework.jdbc.core.JdbcTemplate; public class UserDao {
//得到JdbcTemplae对象
private JdbcTemplate jdbcTemplate; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
} public void add() {
// 测试用SQL
String sql = "insert into users (name,age) values(?,?)";
int rows = jdbcTemplate.update(sql,"american",299);
} }
UserService.java代码
package spring.c3p0;public class UserService {
private UserDao userDao; public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void add() {
userDao.add();
}}
beans1.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd " >
<!-- 配置c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="DriverClass" value ="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/user"></property>
<property name="user" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<!-- 创建UserService 和UserDao对象,然后在UserService 中注入UserDao对象--> <bean id="userDao" class="spring.c3p0.UserDao">
<!-- 注入jdbcTemplate对象 -->
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean> <bean id="userService" class="spring.c3p0.UserService">
<!-- 注入Dao对象 -->
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >
<!-- 把dataSourc连接池注入到jdbcTemplate里面 -->
<property name="dataSource" ref="dataSource"></property>
</bean> </beans>






