1.导包
2.准备数据库
3.
User实体类
package work.yuegege.domain;
public class User {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
编写Dao接口及其实现类
package work.yuegege.dao;
import java.util.List;
import work.yuegege.domain.User;
public interface UserDao {
//用JDBC模板实现增删改查
public void save(User user);
public void delete(int id);
public void update(User user);
public User findById(int id);
public int findTotalCount();
public List<User> findAll();
}
package work.yuegege.daoImpl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import work.yuegege.dao.UserDao;
import work.yuegege.domain.User;
public class UserDaoImpl extends JdbcDaoSupport implements UserDao {
public void save(User user) {
String sql="insert into users values(null,?,?)";
super.getJdbcTemplate().update(sql,user.getName(),user.getAge());
}
public void delete(int id) {
String sql="delete from users where id=?";
super.getJdbcTemplate().update(sql,id);
}
public void update(User user) {
String sql="update users set name=?,age=? where id=?";
super.getJdbcTemplate().update(sql, user.getName(),user.getAge(),user.getId());
}
public User findById(int id) {
String sql="select * from users where id=?";
return super.getJdbcTemplate().queryForObject(sql, new RowMapper<User>(){
@Override
public User mapRow(ResultSet rs, int arg1) throws SQLException {
User user=new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
return user;
}
}, id);
}
public int findTotalCount() {
String sql="select count(*) from users ";
return super.getJdbcTemplate().queryForObject(sql, Integer.class);
}
public List<User> findAll() {
String sql="select * from users";
List<User> list= super.getJdbcTemplate().query(sql,new RowMapper<User>(){
@Override
public User mapRow(ResultSet rs, int arg1) throws SQLException {
User user=new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
return user;
}
});
return list;
}
}
配置applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd ">
<!-- 1.配置连接池 -->
<bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="jdbc:mysql:///students"></property>
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!--2.将JDBCTemplate放入spring容器 -->
<!-- <bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean> -->
<!--3.将UserDaoImpl放入spring容器 -->
<bean name="userDao" class="work.yuegege.daoImpl.UserDaoImpl">
<!-- <property name="jbbcTemplate" ref="jdbcTemplate"></property> -->
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
测试增删改查,这里只测试一个
@Test
public void test1(){
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao=(UserDao) applicationContext.getBean("userDao");
User user=new User();
user.setName("mengyue");
user.setAge(21);
userDao.save(user);
System.out.println("添加成功!");
}
结果: