实体类
public class Admin implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Admin() {
super();
// TODO Auto-generated constructor stub
}
public Admin(Integer id, String name) {
super();
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Admin [id=" + id + ", name=" + name + "]";
}
}
定义一个接口
public interface AdminDao {
public List<Admin> findAll();
public void update();
public void insert();
public void delete();
public void getCount();
//批量更新
public void updates(final List<Admin> list);
}
新建一个实现上述接口的类
public class AdminDaoImpl extends JdbcDaoSupport implements AdminDao{
//如果该类不继承JdbcDaoSupport,就要声明一个参数并实现set方法 如下所示
//声明模板类对象
// private JdbcTemplate jdbcTemplate;
/* //注入模板类对象
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}*/
@Override
public List<Admin> findAll() {
// TODO Auto-generated method stub
//使用模板类对象
@SuppressWarnings("unchecked")
List<Admin> admins=this.getJdbcTemplate().query("select id,name from admin",new RowMapper() {
@Override
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
// TODO Auto-generated method stub
Admin admin=new Admin();
admin.setId(rs.getInt("id"));
admin.setName(rs.getString("name"));
return admin;
}
});
return admins;
}
public void update(){
//更新成功几条i的值就是几
int i=this.getJdbcTemplate().update("update admin set name='red' where id=1");
this.getJdbcTemplate().update("update admin set name=? where id=? ", new Object[]{"redArmy",2});
System.out.println(i+"******************************");
}
public void insert(){
this.getJdbcTemplate().update("insert into admin(name) values ('xiaoshuang') ");
}
@Override
public void delete() {
// TODO Auto-generated method stub
this.getJdbcTemplate().update("delete from admin where id=1");
}
@Override
public void getCount() {
// TODO Auto-generated method stub
int i=this.getJdbcTemplate().queryForInt("select count(*) from admin");
System.out.println("总记录数为"+i);
}
@Override
public void updates(final List<Admin> list) {
// TODO Auto-generated method stub
this.getJdbcTemplate().batchUpdate("update admin set name=? where id=?",new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
// TODO Auto-generated method stub
ps.setString(1, list.get(i).getName()+"aaaaaaa");
ps.setInt(2, list.get(i).getId());
}
@Override
public int getBatchSize() {
// TODO Auto-generated method stub
return list.size();
}
});
}
}
Xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd" >
<!-- 配置数据源 -->
<bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>${driverClassName}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>${username}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>
<!-- jdbcTemplate模板类 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="basicDataSource"/>
</bean>
<!-- 注入到Dao操作实现类中 -->
<bean id="adminDaoImpl" class="cn.csdn.dao.AdminDaoImpl">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>
<context:property-placeholder location="jdbc.properties"/>
</beans>
jdbc.properties文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/spring
username:root
password=1234
测试类
public class TestDemo {
@Test
public void test() {
ApplicationContext ac=new ClassPathXmlApplicationContext("classpath:beans.xml");
AdminDao a=(AdminDao) ac.getBean("adminDaoImpl");
/*List<Admin> admins=a.findAll();
for(Admin admin:admins){
System.out.println(admin.getId()+"-------------"+admin.getName());
}*/
//a.getCount();
List list=a.findAll();
a.updates(list);
}
}
注:本案例的数据库名为spring 表名为admin
Spring与数据库
最新推荐文章于 2024-09-26 15:25:48 发布