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);
    }
}

 

posted @ 2017-10-03 10:18  JaneBaby  阅读(544)  评论(0编辑  收藏  举报