MyBatis批处理(插入和删除)

本文详细介绍了如何使用MyBatis进行批处理操作,包括实体类Goods的定义,对应的goods.xml配置文件内容,测试用例的编写,以及MybatisUtils工具类的创建,用于获取全局SqlSessionFactory对象。同时,文中还展示了数据库的相关设置和操作。
摘要由CSDN通过智能技术生成

一:实体类

Goods:

package com.imooc.mybatis.entity;

import java.util.List;

/**
 * 商品类
 */
public class Goods {
    //商品编号
    private Integer goodsId;
    //标题
    private String title;
    //子标题
    private String subTitle;
    //原始价格
    private Float originalCost;
    //当前价格
    private Float currentPrice;
    //折扣率
    private Float  discount;
    //是否包邮
    private Integer isFreeDelivery;
    //分类编号
    private Integer categoryId;
    //一对多,一个goods对象下有多个GoodsDetail对象
    private List<GoodsDetail> goodsDetails;

    public Integer getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Integer goodsId) {
        this.goodsId = goodsId;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getSubTitle() {
        return subTitle;
    }

    public void setSubTitle(String subTitle) {
        this.subTitle = subTitle;
    }

    public Float getOriginalCost() {
        return originalCost;
    }

    public void setOriginalCost(Float originalCost) {
        this.originalCost = originalCost;
    }

    public Float getCurrentPrice() {
        return currentPrice;
    }

    public void setCurrentPrice(Float currentPrice) {
        this.currentPrice = currentPrice;
    }

    public Float getDiscount() {
        return discount;
    }

    public void setDiscount(Float discount) {
        this.discount = discount;
    }


    public Integer getIsFreeDelivery() {
        return isFreeDelivery;
    }

    public void setIsFreeDelivery(Integer isFreeDelivery) {
        this.isFreeDelivery = isFreeDelivery;
    }

    public Integer getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(Integer categoryId) {
        this.categoryId = categoryId;
    }

    public List<GoodsDetail> getGoodsDetails() {
        return goodsDetails;
    }

    public void setGoodsDetails(List<GoodsDetail> goodsDetails) {
        this.goodsDetails = goodsDetails;
    }
}

二:对应的xml

商品  goods.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace命名空间下 的id是唯一的 -->
<mapper namespace="goods">
   
<!--批量插入-->
<!--批量插入数据的局限:
	 1.无法获得插入数据的id
	 2.批量生成的sql太长,可能会被服务器拒绝
 -->
<insert id="batchInsert" parameterType="java.util.List">
	insert into t_goods(title,sub_title,original_cost,current_price,discount,is_free_delivery,category_id)
	values
	<foreach collection="list" item="item" index="index" separator=",">
		(#{item.title},#{item.subTitle},#{item.originalCost},#{item.currentPrice},#{item.discount},#{item.isFreeDelivery},#{item.categoryId})
	</foreach>
</insert>

<!--批量删除-->
<!--
in(1,2)
-->
<d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值