mybaits批量存储记录(有实例)

来源:互联网 发布:网络彩票开售解禁通知 编辑:程序博客网 时间:2024/05/01 01:16

说明:今天想要批量存储一些记录,百度了一下,自己写了出来,在这里记录一下:

先看一下mybaits的Mapper文件:

<sql id="Base_Column_List">        id, title, url, time, type, discussnum, description,        imagesurl, ishot,        source, storage_time,        status    </sql><insert id="batchInsert" parameterType="java.util.List" >        insert into ss_news (        <include refid="Base_Column_List" />        )        values        <foreach collection="list" index="index" item="n" separator=",">            (#{n.id},#{n.title},#{n.url},#{n.time},#{n.type},#{n.discussNum},#{n.description},#{n.imagesUrl},#{n.isHot},#{n.source},#{n.storageTime},#{n.status})        </foreach>    </insert>

对应的Service:

package cn.cupcat.service;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import cn.cupcat.dao.DaoSupport;import cn.cupcat.models.News;@Service@Transactionalpublic class NewsService {    @Autowired    private DaoSupport dao;    public void batchInsert(List<News> list) throws Exception{         dao.save("NewsMapper.batchInsert", list);    }}

测试:

package cn.cupcat.test;import java.text.ParseException;import java.util.ArrayList;import java.util.List;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import cn.cupcat.models.News;import cn.cupcat.service.NewsService;import cn.cupcat.util.DateTimeUtil;import cn.cupcat.util.UUIDUtil;public class TestNewsService {    ApplicationContext ac ,bc= null;    @org.junit.Before    public void before(){        bc = new ClassPathXmlApplicationContext("spring-mybatis.xml");        //ac = new ClassPathXmlApplicationContext("spring.xml");    }    public List<News> getNews() throws ParseException{        List<News> list = new ArrayList<News>();        News news = null;        int num =100;        for(int i=0;i<num;i++ ){            news = new News();            news.setId(UUIDUtil.get32UUID());            news.setTitle("测试标题");            news.setUrl("http://www.cupcat.cn");            news.setTime(DateTimeUtil.getDateTime());            news.setSource("向杨新闻");            news.setStorageTime(DateTimeUtil.getTimestamp());            list.add(news);        }        System.out.println(list);        return list;    }    @Test    public void testNewsService(){        NewsService newsService  =  (NewsService) bc.getBean("newsService");        try {            newsService.batchInsert(getNews());        } catch (Exception e) {            e.printStackTrace();        }        //System.out.println(newsService);    }}

说明:这里是模拟的数据;

0 0
原创粉丝点击