1.springboot整合mybatis-plus

1.mybatis-plus的配置步骤和mybatis一样,引入依赖
//引入 MyBatis-Plus 之后不要再次引入 MyBatis 以及 MyBatis-Spring,以避免因版本差异导致的问题

<dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.2.0</version>
</dependency>

2.springboot启动类添加接口扫描 @MapperScan

@MapperScan("com.yuchen.demo.mpdemo.dao")
@SpringBootApplication
public class MpdemoApplication {

application.properties添加 xml文件扫描路径

logging.level.com.yun.votesystem.dao=debug
#数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://47.113.113.217:3306/jd_shop?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Chongqing
spring.datasource.username=root
spring.datasource.password=My@123456

#MybatisPlus
# 关闭MP3.0自带的banner
mybatis-plus.global-config.banner=false

#关闭驼峰映射规则
#mybatis-plus.configuration.map-underscore-to-camel-case=false

#主键类型  auto:数据库ID自增,  input:用户输入ID,  id_worker:全局唯一数字ID, UUID,全局唯一字符串ID (id_worker 的字符串表示)
mybatis-plus.global-config.db-config.id-type=uuid

#新增和删除数据时,是否忽略空数据,默认是not_null
#not_null:如果某个字段为null,就不对该字段做修改
#ignored:允许字段的null值写入数据库
mybatis-plus.global-config.db-config.insert-strategy=ignored
mybatis-plus.global-config.db-config.update-strategy=ignored

mybatis-plus.config-location=classpath:mybatis/mybatis-config.xml
mybatis-plus.mapper-locations=classpath:mybatis/mapper/*.xml
//mybatis.mapper-locations=com/yuchen/test/vuedemo/dao/xml/*.xml   或者是放在dao层下,如果放在dao层需要在pom.xml中

//向maven声明,构建项目的class目录时创建xml文件,否则运行时每个dao接口绑定不上xml文件

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build> 

3.实体类添加表名,和id的对应属性

@TableName("region")  //该实体类对应数据库哪个表
public class Region implements Serializable {

    @TableId(value = "id",type = IdType.AUTO) //主键是否是自增的,如果是,并配置此注解,那么在insert成功后会把
    private Integer id;                       //自增id注入到对象中,相当于把mybatis的自增注入简化了

    private Integer pid;

     @TableField(value = "uname") //如果数据库字段和实体类不一致,可以设置value手动指定
    private String name;

    @TableField(exist = false)//exist为false时,表示此变量不为数据库字段
    private Integer level

4.dao层接口继承MP的工具类接口

public interface RegionMapper extends BaseMapper<Region> {
}

5.service层接口也继承MP通用的服务接口,并声明该接口用于哪个实体类

public interface RegionService extends IService<Region> {
}

6.业务层实现类声明,并继承MP通用的工具类,该工具类提供了大量的crud方法

@Service
public class RegionServiceImpl extends ServiceImpl<RegionMapper,Region> implements RegionService {

    @Autowired
    private RegionMapper regionMapper;
}

7.测试

@SpringBootTest
class MpdemoApplicationTests {

    @Autowired
    RegionService regionService;

    @Test
    void contextLoads() {
         IPage<Region> page=new Page<>(1,10);  //使用Page分页插件+Querywarrp测试,查询成功,但是得到的数据是随机
        IPage<Region> iPage = regionService.page(page, null); //混乱的,因为还没配置分页的配置类
        System.err.println(iPage.getRecords());
    }

}

分页的配置类 :springboot方式

@Configuration
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor(){
        return new PaginationInterceptor();
    }
}

配置完后再测试,数据正常,并且大部分的CRUD方法已经实现了

MP如果要配置二级缓存,需要使用2.0.4以下的版本,以上的版本二级缓存被优化了,不会使用二级的,需要额外配置,可百度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值