依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.4.3.4</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.3.2</version>
</dependency>
代码
public static void mybatisPlus(List<HnLegalSystemWarranty> list) {
// 配置数据源
DruidDataSource dataSource = getDruidDataSource();
// 创建 TransactionFactory
TransactionFactory transactionFactory = new JdbcTransactionFactory();
// 配置环境
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
// 添加 Mapper
configuration.addMapper(HnLegalSystemWarrantyMapper.class);
// 构建 SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
// 使用 SqlSession 执行 MyBatis-Plus 增强方法
try (SqlSession sqlSession = sqlSessionFactory.openSession(true)) {
HnLegalSystemWarrantyMapper mapper = sqlSession.getMapper(HnLegalSystemWarrantyMapper.class);
list.forEach(mapper::insertHnLegalSystemWarranty);
}
log.info("插入完成");
}
/**
* 配置数据源
*/
private static DruidDataSource getDruidDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl("数据库地址");
// 根据mysql版本变动
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUsername("账户");
dataSource.setPassword("密码");
dataSource.setInitialSize(5);
dataSource.setMaxActive(10);
dataSource.setMinIdle(1);
dataSource.setMaxWait(60000);
return dataSource;
}
PS:还有一种写法,通过加载配置文件的方式
public static void mybatisPlus(List<HnLegalSystemWarranty> list) throws IOException {
// 配置数据源
DruidDataSource dataSource = getDruidDataSource();
// 加载 MyBatis 配置文件
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 构建 SqlSessionFactory
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
// 手动设置数据源
Configuration configuration = sqlSessionFactory.getConfiguration();
configuration.setEnvironment(new org.apache.ibatis.mapping.Environment("development",
new org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory(), dataSource));
// configuration.addMapper(HnLegalSystemWarrantyMapper.class);
// 使用 SqlSession 执行 MyBatis-Plus 增强方法
try (SqlSession sqlSession = sqlSessionFactory.openSession(true)) {
HnLegalSystemWarrantyMapper mapper = sqlSession.getMapper(HnLegalSystemWarrantyMapper.class);
list.forEach(mapper::insertHnLegalSystemWarranty);
}
log.info("插入完成");
}
// mybatis-config.xml
<?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>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<mappers>
<mapper resource="mapper/HnLegalSystemWarrantyMapper.xml"/>
</mappers>
</configuration>
在这里不可以直接调用mybatis-plus的增强方法,因为他是隐式调用的,在不启动spring的情况下,无法自动的启动它的工厂类,来实现注入。