Mybatis批量插入数据到数据库

本文介绍了两种在Mybatis中批量插入数据的方法:一种是使用foreach标签进行批量操作,另一种是利用ExecutorType.BATCH执行批处理。通过具体的实体类Teacher、DAO接口、配置文件以及工具类的设置,详细阐述了这两种方式的实现过程,旨在提高数据库操作效率。
摘要由CSDN通过智能技术生成

Mybatis批量插入数据到数据库

常规方式(foreach)批量插入

数据库里的Teacher表有如下字段:id,tname,age。
创建与数据库表对应的实体类Teacher.java

package com.lanou3g.mybatis.bean;

import lombok.Getter;
import lombok.Setter;

import java.util.List;

@Getter
@Setter
public class Teacher {
   
    private Integer id;
    private String tname;
    private Integer age;

    public Teacher (){
   }

    public Teacher(String tname) {
   
        this.tname = tname;
    }

    @Override
    public String toString() {
   
        return "{" +
                "id:" + id +
                ", tname:'" + tname + '\'' +
                ", age:'" + age + '\'' +
                "]}\n";
    }
}

dao层接口TeacherDao

package com.lanou3g.mybatis.dao;

import com.lanou3g.mybatis.bean.Teacher;

import java.util.List;

public interface TeacherDao {
   

    int batchInsertByNormal(List<Teacher> teacherList);
}

数据库相关外部配置文件jdbc.properties

jdbc.url=jdbc:mysql://localhost:3306/yanfa5?characterEncoding=utf8
jdbc.driver=com.mysql.jdbc.Driver
jdbc.user=root
jdbc.password=root

Mybatis的全局配置文件mybatis_conf.xml
主要用于配置Mybatis的运行环境(事务管理器、数据源等)。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 引入外部的properties文件,只能引入一个 -->
    <properties resource="jdbc.properties" />
    
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    
    <!-- 定义类型别名(全局),在所有的Mapper.xml中都可以用 -->
    <typeAliases>
        <typeAlias type="com.lanou3g.mybatis.bean.Teacher" alias="Teacher" />
    </typeAliases>
    <!-- 配置多套环境的数据库连接参数(如:开发环境、生产环境) -->
    <environments default="yanfa5">
    <environment id="yanfa5">
        <!-- 事务管理器:
            MANAGED: 这个配置就是告诉mybatis不要干预事务,具体行为依赖于容器本身的事务处理逻辑。
            JDBC: 这个配置就是直接使用了 JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。
         -->
        <transactionManager type="MANAGED"/>
        <dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.user}"/>
            <property name="password" value="${jdbc.password}"/>
        </dataSource>
    </environment>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值