mybatis项目@Insert注解批量插入数据库

entity

package com.fanyu.mybatis.entity;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: cloudonthesun
 * @Date: 2021/4/26 15:59
 * @Description:
 */
public class Teacher {
    private Integer id;
    private String name;
    private String sex;
    private Integer jNo;
    private String subject;
    private String grade;
    private String description;

    @Override
    public String toString() {
        return "Teacher{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", jNo=" + jNo +
                ", subject='" + subject + '\'' +
                ", grade='" + grade + '\'' +
                ", description='" + description + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Integer getjNo() {
        return jNo;
    }

    public void setjNo(Integer jNo) {
        this.jNo = jNo;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}

mybatis-config.xml

 
        
    

dao

package com.fanyu.mybatis.dao;

import com.fanyu.mybatis.entity.Teacher;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.SelectKey;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: cloudonthesun
 * @Date: 2021/4/26 16:02
 * @Description:
 */
public interface TeacherDao {
    @Insert("")
    @SelectKey(statement = "select last_insert_id()",keyProperty = "id",before = false,resultType = Integer.class)
    public int batchInsert(List list);
}

MybatisUtilsTest

package com.fanyu.mybatis;

import com.fanyu.mybatis.dao.TeacherDao;
import com.fanyu.mybatis.entity.Teacher;
import com.fanyu.mybatis.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: cloudonthesun
 * @Date: 2021/4/26 11:23
 * @Description:
 */
public class MybatisUtilsTest {
    @Test
    public void testBatchInsertByAnnotation(){
        SqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory();
        SqlSession sqlSession = null;
        try {
            sqlSession = sqlSessionFactory.openSession();
            TeacherDao teacherDao = sqlSession.getMapper(TeacherDao.class);
            List list = new ArrayList<>();

            for (int i = 0; i < 500; i++) {
                Teacher teacher = new Teacher();
                teacher.setName("老师" + (i + 1));
                teacher.setSex((i % 2 == 1) ? "男" : "女");
                teacher.setjNo(i + 1);
                teacher.setSubject((i % 2 == 1) ? "英语" : "数学");
                teacher.setGrade(i <= 5 ? (i + 1) + "年级" : (i % 6 + 1) + "年级");
                teacher.setDescription(i % 2 == 1 ? "最帅的老师" : "最美的老师");
                list.add(teacher);
            }
            teacherDao.batchInsert(list);
            sqlSession.commit();
            System.out.println("共有" + 500 + "位老师成功生成数据,详情见下*******************");
            for (int i = 0; i < 500; i++) {
                Teacher teacher = list.get(i);
                System.out.print("老师姓名为:" + teacher.getName() + ",");
                System.out.print("老师性别为:" + teacher.getSex() + ",");
                System.out.print("老师工号为:" + teacher.getjNo() + ",");
                System.out.print("老师所教学科为:" + teacher.getSubject() + ",");
                System.out.print("老师所在年级为:" + teacher.getGrade() + ",");
                System.out.print("老师备注为:" + teacher.getDescription());
                System.out.println();
            }
        }catch (Exception e){
            e.printStackTrace();
            throw e;
        }finally {
            if(sqlSession != null){
                sqlSession.close();
            }
        }
    }
}

out

D:\D1\java\jdk\jdk1.8.0_45\bin\java.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\D1\IDEs\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=63340:D:\D1\IDEs\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\D1\IDEs\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar;D:\D1\IDEs\IntelliJ IDEA 2019.3.1\plugins\junit\lib\junit5-rt.jar;D:\D1\IDEs\IntelliJ IDEA 2019.3.1\plugins\junit\lib\junit-rt.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\charsets.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\deploy.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\access-bridge-64.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\cldrdata.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\dnsns.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\jaccess.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\jfxrt.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\localedata.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\nashorn.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\sunec.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\sunjce_provider.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\sunmscapi.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\sunpkcs11.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\ext\zipfs.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\javaws.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\jce.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\jfr.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\jfxswt.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\jsse.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\management-agent.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\plugin.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\resources.jar;D:\D1\java\jdk\jdk1.8.0_45\jre\lib\rt.jar;D:\D1\code\MostImportant\framework\mybatis\mybatis-task\target\test-classes;D:\D1\code\MostImportant\framework\mybatis\mybatis-task\target\classes;D:\D1\java\maven\repo\org\mybatis\mybatis\3.5.3\mybatis-3.5.3.jar;D:\D1\java\maven\repo\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar;D:\D1\java\maven\repo\com\google\protobuf\protobuf-java\3.11.4\protobuf-java-3.11.4.jar;D:\D1\java\maven\repo\com\github\pagehelper\pagehelper\5.2.0\pagehelper-5.2.0.jar;D:\D1\java\maven\repo\com\github\jsqlparser\jsqlparser\3.2\jsqlparser-3.2.jar;D:\D1\java\maven\repo\junit\junit\4.12\junit-4.12.jar;D:\D1\java\maven\repo\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;D:\D1\java\maven\repo\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;D:\D1\java\maven\repo\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;D:\D1\java\maven\repo\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;D:\D1\java\maven\repo\com\mchange\c3p0\0.9.5.4\c3p0-0.9.5.4.jar;D:\D1\java\maven\repo\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.fanyu.mybatis.MybatisUtilsTest,testBatchInsertByAnnotation
[main] 16:41:35.996 DEBUG org.apache.ibatis.logging.LogFactory - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
[MLog-Init-Reporter] 16:41:36.047 INFO  com.mchange.v2.log.MLog - MLog clients using slf4j logging.
[MLog-Init-Reporter] 16:41:36.054 DEBUG com.mchange.v2.log.MLog - Reading VM config for path list /com/mchange/v2/log/default-mchange-log.properties, /mchange-commons.properties, /c3p0.properties, hocon:/reference,/application,/c3p0,/, /mchange-log.properties, /
[MLog-Init-Reporter] 16:41:36.054 DEBUG com.mchange.v2.log.MLog - The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.
[MLog-Init-Reporter] 16:41:36.054 DEBUG com.mchange.v2.log.MLog - The configuration file for resource identifier '/c3p0.properties' could not be found. Skipping.
[MLog-Init-Reporter] 16:41:36.054 DEBUG com.mchange.v2.log.MLog - The configuration file for resource identifier 'hocon:/reference,/application,/c3p0,/' could not be found. Skipping.
[MLog-Init-Reporter] 16:41:36.054 DEBUG com.mchange.v2.log.MLog - The configuration file for resource identifier '/mchange-log.properties' could not be found. Skipping.
[main] 16:41:36.056 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.
[main] 16:41:36.056 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier '/mchange-log.properties' could not be found. Skipping.
[main] 16:41:36.056 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier 'hocon:/reference,/application,/c3p0,/' could not be found. Skipping.
[main] 16:41:36.056 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier '/c3p0.properties' could not be found. Skipping.
[main] 16:41:36.823 INFO  com.mchange.v2.c3p0.C3P0Registry - Initializing c3p0-0.9.5.4 [built 23-March-2019 23:00:48 -0700; debug? true; trace: 10]
[main] 16:41:36.847 DEBUG c.m.v.c.m.DynamicPooledDataSourceManagerMBean - MBean: com.mchange.v2.c3p0:type=PooledDataSource,identityToken=2sk6ojah3p9cvh1r3o7jc|45f45fa1,name=2sk6ojah3p9cvh1r3o7jc|45f45fa1 registered.
[main] 16:41:36.862 DEBUG c.m.v.c.m.DynamicPooledDataSourceManagerMBean - MBean: com.mchange.v2.c3p0:type=PooledDataSource,identityToken=2sk6ojah3p9cvh1r3o7jc|45f45fa1,name=2sk6ojah3p9cvh1r3o7jc|45f45fa1 unregistered, in order to be reregistered after update.
[main] 16:41:36.862 DEBUG c.m.v.c.m.DynamicPooledDataSourceManagerMBean - MBean: com.mchange.v2.c3p0:type=PooledDataSource,identityToken=2sk6ojah3p9cvh1r3o7jc|45f45fa1,name=2sk6ojah3p9cvh1r3o7jc|45f45fa1 registered.
[main] 16:41:36.870 DEBUG org.apache.ibatis.io.VFS - Class not found: org.jboss.vfs.VFS
[main] 16:41:36.870 DEBUG org.apache.ibatis.io.JBoss6VFS - JBoss 6 VFS API is not available in this environment.
[main] 16:41:36.871 DEBUG org.apache.ibatis.io.VFS - Class not found: org.jboss.vfs.VirtualFile
[main] 16:41:36.871 DEBUG org.apache.ibatis.io.VFS - VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment.
[main] 16:41:36.872 DEBUG org.apache.ibatis.io.VFS - Using VFS adapter org.apache.ibatis.io.DefaultVFS
[main] 16:41:36.872 DEBUG org.apache.ibatis.io.DefaultVFS - Find JAR URL: file:/D:/D1/code/MostImportant/framework/mybatis/mybatis-task/target/classes/com/fanyu/mybatis/dao
[main] 16:41:36.872 DEBUG org.apache.ibatis.io.DefaultVFS - Not a JAR: file:/D:/D1/code/MostImportant/framework/mybatis/mybatis-task/target/classes/com/fanyu/mybatis/dao
[main] 16:41:36.903 DEBUG org.apache.ibatis.io.DefaultVFS - Reader entry: TeacherDao.class
[main] 16:41:36.905 DEBUG org.apache.ibatis.io.DefaultVFS - Listing file:/D:/D1/code/MostImportant/framework/mybatis/mybatis-task/target/classes/com/fanyu/mybatis/dao
[main] 16:41:36.905 DEBUG org.apache.ibatis.io.DefaultVFS - Find JAR URL: file:/D:/D1/code/MostImportant/framework/mybatis/mybatis-task/target/classes/com/fanyu/mybatis/dao/TeacherDao.class
[main] 16:41:36.905 DEBUG org.apache.ibatis.io.DefaultVFS - Not a JAR: file:/D:/D1/code/MostImportant/framework/mybatis/mybatis-task/target/classes/com/fanyu/mybatis/dao/TeacherDao.class
[main] 16:41:36.905 DEBUG org.apache.ibatis.io.DefaultVFS - Reader entry: ����   4    batchInsert (Ljava/util/List;)I 	Signature 7(Ljava/util/List;)I RuntimeVisibleAnnotations &Lorg/apache/ibatis/annotations/Insert; value � )Lorg/apache/ibatis/annotations/SelectKey; 	statement select last_insert_id() keyProperty id before     
[main] 16:41:36.906 DEBUG org.apache.ibatis.io.ResolverUtil - Checking to see if class com.fanyu.mybatis.dao.TeacherDao matches criteria [is assignable to Object]
[main] 16:41:37.037 DEBUG o.a.i.t.jdbc.JdbcTransaction - Opening JDBC Connection
[main] 16:41:37.056 INFO  c.m.v.c.i.AbstractPoolBackedDataSource - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, dataSourceName -> 2sk6ojah3p9cvh1r3o7jc|45f45fa1, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.cj.jdbc.Driver, extensions -> {}, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, forceUseNamedDriverClass -> false, identityToken -> 2sk6ojah3p9cvh1r3o7jc|45f45fa1, idleConnectionTestPeriod -> 0, initialPoolSize -> 5, jdbcUrl -> jdbc:mysql://localhost:3306/babytun?useUnicode=true&CharacterEncoding=UTF-8, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 10, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 5, numHelperThreads -> 3, preferredTestQuery -> null, privilegeSpawnedThreads -> false, properties -> {user=******, password=******}, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, userOverrides -> {}, usesTraditionalReflectiveProxies -> false ]
[main] 16:41:37.066 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier '/mchange-commons.properties' could not be found. Skipping.
[main] 16:41:37.067 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier '/mchange-log.properties' could not be found. Skipping.
[main] 16:41:37.067 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier '/c3p0.properties' could not be found. Skipping.
[main] 16:41:37.067 DEBUG com.mchange.v2.cfg.MConfig - The configuration file for resource identifier 'hocon:/reference,/application,/c3p0,/' could not be found. Skipping.
[main] 16:41:37.068 DEBUG c.m.v.resourcepool.BasicResourcePool - com.mchange.v2.resourcepool.BasicResourcePool@43bc63a3 config: [start -> 5; min -> 5; max -> 10; inc -> 3; num_acq_attempts -> 30; acq_attempt_delay -> 1000; check_idle_resources_delay -> 0; max_resource_age -> 0; max_idle_time -> 0; excess_max_idle_time -> 0; destroy_unreturned_resc_time -> 0; expiration_enforcement_delay -> 0; break_on_acquisition_failure -> false; debug_store_checkout_exceptions -> false; force_synchronous_checkins -> false]
[main] 16:41:37.068 DEBUG c.m.v.c.i.C3P0PooledConnectionPoolManager - Created new pool for auth, username (masked): 'ro******'.
[main] 16:41:37.068 DEBUG c.m.v.resourcepool.BasicResourcePool - acquire test -- pool size: 0; target_pool_size: 5; desired target? 1
[main] 16:41:37.068 DEBUG c.m.v.resourcepool.BasicResourcePool - awaitAvailable(): [unknown]
[main] 16:41:37.377 DEBUG o.a.i.t.jdbc.JdbcTransaction - Setting autocommit to false on JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@6025e1b6 [wrapping: com.mysql.cj.jdbc.ConnectionImpl@22ff4249]]
[main] 16:41:37.385 DEBUG c.f.m.dao.TeacherDao.batchInsert - ==>  Preparing: insert into teacher(name,sex,j_no,subject,grade,description) values (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?,?) , (?,?,?,?,?

你可能感兴趣的:(mysql,框架,mybatis,annotations,mysql)