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

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

先看一下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
@Transactional
public 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);
    }
}

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值