mybatis3-plus整合springboot

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

猜你喜欢

转载自blog.csdn.net/weixin_43979902/article/details/119849710