Spring中jdbcTemplate的用户实例
1、首先配置JdbcTemplate
在 Spring 的 IOC 容器中配置一个 JdbcTemplate 的 bean,将 DataSource(使用第三方数据源c3p0) 注入进来,然后再把JdbcTemplate 注入到自定义DAO 中。
<bean id="ds" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="root" /> <property name="password" value="root" /> <property name="jdbcUrl" value="jdbc:mysql:///db_test" /> <property name="driverClass" value="com.mysql.jdbc.Driver" /> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="ds" /> </bean>
2、在自定义Dao类中配置如下,为private JdbcTemplate temp;添加注解,让框架自动注入该对象。dao层类使用@Repository注解
@Repository public class UserDaoImpl implements UserDao { @Autowired private JdbcTemplate temp; @Override public boolean add(User user) { String sql = "insert into user values(?, ?, ?, ?)"; int update = temp.update(sql, user.getId(), user.getName(), user.getAge(), user.getAddress()); return update > 0 ? true : false; } @Override public boolean update(User user) { String sql = "update user set name=?, age=?, address=? where id=?"; int update = temp.update(sql, user.getName(), user.getAge(), user.getAddress(), user.getId()); return update > 0 ? true : false; }
}
3、测试
public class JdbcTest { private UserService service; @Before public void before() { ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); service = ctx.getBean(UserServiceImpl.class); } @Test public void add() { User user = new User(); user.setName("郭靖"); user.setAge(23); user.setAddress("北京"); service.add(user); } @Test public void update() { User user = new User(); user.setId(1); user.setName("黄蓉"); user.setAge(25); user.setAddress("南昌"); service.update(user); }
}