mybatis3整合springboot
依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--简略get、set方法-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
</dependency>
<!--Mybatis-Plus 注意版本-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<!--数据库连接驱动 连接配置修改时间-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
</dependencies>
配置yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/user?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: root
jackson:
#返回json的全局时间格式
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
serialization:
write-dates-as-timestamps: false
mybatis-plus:
configuration:
#开启驼峰命名法 开启驼峰之后每一个都会转换 要是有字段 写为 userId 使用private int userId 就会变为 user_id 找不到字段
map-underscore-to-camel-case: true
auto-mapping-behavior: full
#控制台打印sql
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#指定mapper的位置
mapper-locations: classpath*:mapper/**/*Mapper.xml
global-config:
# 逻辑删除配置
db-config:
# 删除前
logic-not-delete-value: 1
# 删除后
logic-delete-value: 0
分页查询配置类
package com.kw.mybatis.config;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* 配置分页插件
*
*/
@Configuration
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
启动类
package com.kw.mybatis;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.kw.mybatis.dao")
@SpringBootApplication
public class MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisApplication.class, args);
}
}
测试类
package com.kw.mybatis;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kw.mybatis.bean.UserDO;
import com.kw.mybatis.dao.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class MybatisApplicationTests {
@Autowired
UserMapper userMapper;
@Test
void contextLoads() {
userMapper.selectById(1);
}
@Test
void test() {
Page<UserDO> page = new Page<>(2, 2);
IPage<UserDO> userIPage = userMapper.selectPage(page, new QueryWrapper<UserDO>()
.eq("user_name", "3"));
System.out.println("*******"+userIPage.getRecords().toString());
}
}
批量插入后面加的代码包里面没有
package com.kw.person.config;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
import java.util.List;
/*
- 批量插入类
- */
public class EasySqlInjector extends DefaultSqlInjector {
@Override
public List getMethodList(Class<?> mapperClass){
//防止父类方法不可用
List methodList = super.getMethodList(mapperClass);
methodList.add(new InsertBatchSomeColumn());
return methodList;
}
}
接口里面加方法
package com.kw.person.mapper;
import com.kw.person.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Collection;
public interface UserMapper extends BaseMapper {
/**
- 批量插入 仅适用于mysql
- @param entityList 实体列表
- @return 影响行数
*/
Integer insertBatchSomeColumn(Collection entityList);
}
测试类
@Test
void Test3(){
User user = new User();
user.setUseName(“馬2”);
user.setBirthday(new Date());
User user2 = new User();
user2.setUseName(“馬3”);
user2.setBirthday(new Date());
User user3 = new User();
user3.setUseName(“馬4”);
user3.setBirthday(new Date());
// userMapper.insert(user);
List list = new ArrayList();
list.add(user3);
list.add(user);
list.add(user2);
System.out.println(list.toString());
userMapper.insertBatchSomeColumn(list);
}
querywrapper方法
https://blog.csdn.net/zcxbd/article/details/107974723