1、在application.xml中配置了连接池数据源c3p0
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql:///demo"/> <property name="user" value="root"/> <property name="password" value="root"/> </bean>
2、JdbcTemplate模板注入容器,并配置数据源属性
<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"/> </bean>
3、把自己调用的接口注入容器,并配置JdbcTemplate模板属性(xm方法配置属性注意写set)
<bean name="userDao" class="com.spring.riview.a_jdbcemplate.UserDaoImpl"> <property name="jt" ref="jdbcTemplate"/>
</bean
4、在自己的实现类中书写sql
package com.spring.riview.a_jdbcemplate; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import com.spring.riview.entity.User; //JdBc模板实现 public class UserDaoImpl implements UserDao { private JdbcTemplate jt; public void setJt(JdbcTemplate jt) { this.jt = jt; } @Override public void save(User user) { String sql = "insert into t_user values(null,?,?)"; jt.update(sql, user.getName(),user.getAge()); } @Override public void delete(Integer id) { String sql = "delete from t_user where id=?"; jt.update(sql, id); } @Override public void update(User user) { String sql = "update t_user set name=?,age=? where id = ?"; jt.update(sql, user.getName(),user.getAge(),user.getId()); } @Override//查找一个封装为对象 public User getById(Integer id) { String sql = "select * from t_user where id = ?"; User user = jt.queryForObject(sql, new RowMapper<User>(){ @Override public User mapRow(ResultSet rs, int arg1) throws SQLException { User user = new User(rs.getInt("id"), rs.getString("name"), rs.getString("age")); return user; }},id); return user; } @Override//统计个数 public int getToalCount() { String sql = "select count(id) from t_user"; int num = jt.queryForObject(sql, Integer.class); return num; } @Override//查找所有封装为list<User> public List<User> list() { String sql = "select * from t_user"; List<User> list = jt.query(sql, new RowMapper<User>(){ @Override public User mapRow(ResultSet rs, int arg1) throws SQLException { User user = new User(rs.getInt("id"), rs.getString("name"), rs.getString("age")); return user; }}); return list; } }
5、在测试(业务)方法中调用
需要用到的包