标签:spring4-jdbcdaosupport-insertbatch-执行批量添加操作
package com.mycompany.shequ.bean; public class Forum { private int fid; private String name; public int getFid() { return fid; } public void setFid(int fid) { this.fid = fid; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
7.在src目录创建接口ForumDao,包名(com.mycompany.shequ.dao)如图所示
8.接口ForumDao的内容如下
package com.mycompany.shequ.dao; import java.util.List; import com.mycompany.shequ.bean.Forum; public interface ForumDao { public void insertBatch(final List<Forum> forumList); }
9.在src目录中创建ForumDao的实现类ForumDaoImpl,包名(com.mycompany.shequ.dao.impl),如图所示
10.ForumDao的实现类ForumDaoImpl的内容如下
package com.mycompany.shequ.dao.impl; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.List; import org.springframework.jdbc.core.BatchPreparedStatementSetter; import org.springframework.jdbc.core.support.JdbcDaoSupport; import com.mycompany.shequ.bean.Forum; import com.mycompany.shequ.dao.ForumDao; public class ForumDaoImpl extends JdbcDaoSupport implements ForumDao { @Override public void insertBatch(final List<Forum> forumList) { String sql = "insert into hnsq_forum(name) values(?)"; getJdbcTemplate().batchUpdate(sql,new BatchPreparedStatementSetter() { @Override public void setValues(PreparedStatement ps, int i) throws SQLException { Forum forum = forumList.get(i); System.out.println(forum.getName()); ps.setString(1,forum.getName()); } @Override public int getBatchSize() { return forumList.size(); } }); } }
11.在source目录中创建配置文件spring-datasource.xml,如图所示
12.配置文件spring-datasource.xml的内容如下
<beans xmlns="http://www.springframework.org/schema/beans" 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-3.0.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/b_shequ_two" /> <property name="username" value="root" /> <property name="password" value="" /> </bean> </beans>
13.在source目录中创建配置文件applicationContext.xml,如图所示
14.配置文件applicationContext.xml的内容如下
<beans xmlns="http://www.springframework.org/schema/beans" 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"> <import resource="spring-datasource.xml" /> <bean id="forumDao" class="com.mycompany.shequ.dao.impl.ForumDaoImpl"> <property name="dataSource" ref="dataSource" /> </bean> </beans>
15.在test目录中创建ForumDaoImplTest测试类,包名(com.mycompany.shequ.dao.impl),如图所示
16.ForumDaoImplTest测试类的内容如下
package com.mycompany.shequ.dao.impl; import java.util.ArrayList; import java.util.List; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.mycompany.shequ.bean.Forum; import com.mycompany.shequ.dao.ForumDao; public class ForumDaoImplTest { @Test public void testInsertBatch(){ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); ForumDao forumDao = (ForumDao) context.getBean("forumDao"); List<Forum> forumList = new ArrayList<Forum>(); Forum forum1 = new Forum(); forum1.setName("test1"); Forum forum2 = new Forum(); forum2.setName("test2"); forumList.add(forum1); forumList.add(forum2); forumDao.insertBatch(forumList); } }
17.运行测试类中的testInsertBatch方法,运行结果如图所示
本文出自 “素颜” 博客,请务必保留此出处http://suyanzhu.blog.51cto.com/8050189/1909251
Spring4-JdbcDaoSupport-insertBatch-执行批量添加操作
标签:spring4-jdbcdaosupport-insertbatch-执行批量添加操作
原文地址:http://suyanzhu.blog.51cto.com/8050189/1909251