springboot集成Mybatis-plus完整示例

说明:MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

以前项目中经常使用的是mybatis,现在项目中接触到mybatis-plus,个人觉得挺不错的,只需简单配置,即可使用。内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求,xml也可以大大的简化了

下面来一步步集成

1.引入pom文件(注意:引入 MyBatis-Plus 之后请不要再次引入 MyBatis 以及 MyBatis-Spring,以避免因版本差异导致的问题。

 
        
            com.baomidou
            mybatis-plus-boot-starter
            3.0.6
        
        
        
            org.apache.velocity
            velocity-engine-core
            2.0
        
        
        
            mysql
            mysql-connector-java
            
        


        
        
            com.alibaba
            druid
            1.1.6
        

2.配置yml和配置bean(数据源和mapper、实体的配置)

spring:
  datasource:
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/your_database?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true


mybatis-plus:
  # 如果是放在src/main/java目录下 classpath:/com/yourpackage/*/mapper/*Mapper.xml
  # 如果是放在resource目录 classpath:/mapper/*Mapper.xml
  mapper-locations: classpath:/mapper/*Mapper.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.example.select2
@Configuration
@MapperScan("com.example.select2.mapper")
public class MybatisPlusConfig {

    /*
     * 分页插件,自动识别数据库类型
     * 多租户,请参考官网【插件扩展】
     */
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }

    @Bean(name="dataSource")
    @ConfigurationProperties(prefix="spring.datasource")
    public DataSource dataSource(){
        return new DruidDataSource();
    }


}

3.代码自动生成器(https://mp.baomidou.com/guide/generator.html)

这个东西可以在官网直接copy过来,用main方法运行就好了,改一下你自己的数据源,文件输出位置,项目结构,还有表名这样

4.项目结构(controller,service,mapper,entity都是自动生成的)

service和mapper分别实现了IService和BaseMapper接口,所以里面已经内置很多curl的方法

springboot集成Mybatis-plus完整示例_第1张图片

5.使用

到这一步就已经完成了springboot+mybatis-plus的集成,下面就来看看如何使用

@Autowired
    private SysProvinceMapper sysProvinceMapper;

    @RequestMapping("testMybatisPlus")
    public void testMybatisPlus(){
        //条件查询
        Wrapper wrapper=new QueryWrapper<>();
        ((QueryWrapper) wrapper).eq("del_flag","0");
        System.out.println("查询:"+sysProvinceMapper.selectList(wrapper));


        //添加
        SysProvince province = new SysProvince();
        province.setProvinceName("外星省");
        province.setProvinceSort(1L);
        province.setCreateTime(LocalDateTime.now());
        province.setModifyTime(LocalDateTime.now());
        province.setDelFlag("0");
        sysProvinceMapper.insert(province);


        //更新
        SysProvince sysProvince = sysProvinceMapper.selectById(48);
        sysProvince.setDelFlag("1");
        sysProvinceMapper.updateById(sysProvince);
        
        
        //删除
        sysProvinceMapper.deleteById(48);

    }

 

6.分页插件和自定义maper.xml

上面已经配置了分页插件了

a.在mapper定义一个接口

    IPage selectPage(Page page, @Param("delFlag") String delFlag);

b.新建一个mapper.xml在resource下的mapper文件夹下






    
    
    

c.使用

 Page p = new Page<>(1, 10);
 IPage sysProvinceIPage = sysProvinceMapper.selectPage(p, "0");

 

你可能感兴趣的:(springboot,Java,mybatis)