VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • 13 — springboot集成mybatis-plus — 更新完毕

1、mybatis-plus需要掌握的知识

1)、mybatis-plus是什么?

  • 不写了,老衲一般都是直接进官网
  • mybatis-plus官网地址:https://baomidou.com/guide/
  • 技术也不说明了,会玩mybatis就会玩mybatis-plus

2)、mybatis-plus需要掌握的知识清单

截图

注:知识清单中的sql性能分析插件在3.0+的版本中没有这个选项了,以前是直接放在官网的插件扩展中的,现在没有了,其他的知识点在官网都可以找到,搞懂之后直接复制粘贴即可

另:主键生成策略老衲觉得有一个人的博客写的挺不错的,链接如下:
https://www.cnblogs.com/haoxinyue/p/5208136.html

2、springboot集成mybatis-plus

2.1)、导入依赖


 
 
 
<!-- mybatis-plus需要的依赖-->
 
<dependency>
 
<groupId>com.baomidou</groupId>
 
<artifactId>mybatis-plus-boot-starter</artifactId>
 
<version>3.3.2</version>
 
</dependency>
 
<dependency>
 
<groupId>com.alibaba</groupId>
 
<artifactId>druid-spring-boot-starter</artifactId>
 
<version>1.1.10</version>
 
</dependency>
 
 

2.2)、编写yml


 
 
 
spring:
 
datasource:
 
driver-class-name: com.mysql.cj.jdbc.Driver
 
url: jdbc:mysql://localhost:3306/mybatis_spring?useUnicode=true&characterEncoding=utf-8
 
username: root
 
password: "072413"
 
type: com.alibaba.druid.pool.DruidDataSource
 
 
 
mybatis-plus:
 
configuration:
 
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # mybatis-plus配置日志
 
map-underscore-to-camel-case: true # 开启驼峰映射 即:实体类属性名和数据库字段采用驼峰映射
 
auto-mapping-behavior: full # 自动映射字段
 
mapper-locations: classpath:mapper/*.xml # 如果使用了mybatis和mybatis-plus 那么这里就可以把mybatis的实现类xml集成进来
 
# 但是:最好别这种做,用了mybatis就别用mybatis-plus,二者只能用其一
 
 
 
 

注:别把mybatis和mybatis-plus一起集成到spring中,否则:很容易出问题,虽然:mybatis-plus是mybatis的增强版,既然是增强版,那么就不会抛弃它原有的东西,只会保留原有的东西,然后新增功能,但是:mybatis和mybatis-plus集成到一起之后很容易造成版本冲突,因此:建议二者只选其一集成

2.3)、编写实体类


 
 
 
package cn.xiegongzi.entity;
 
 
 
import com.baomidou.mybatisplus.annotation.IdType;
 
import com.baomidou.mybatisplus.annotation.TableField;
 
import com.baomidou.mybatisplus.annotation.TableId;
 
import com.baomidou.mybatisplus.annotation.TableName;
 
import lombok.AllArgsConstructor;
 
import lombok.Data;
 
import lombok.NoArgsConstructor;
 
 
 
import java.io.Serializable;
 
 
 
@Data
 
@AllArgsConstructor
 
@NoArgsConstructor
 
@TableName(value = "user") // 表名注解
 
public class User implements Serializable {
 
 
 
@TableId(type = IdType.AUTO) // 表示主键,这个主键是一个Long类型的值( 即:snowflake雪花算法 )
 
private Integer id;
 
@TableField("username") // 数据库字段名 就是:当实体类中的字段和数据库字段不一样时可以使用
 
private String name;
 
private String phone;
 
}
 
 

2.4)、编写mapper


 
 
 
package cn.xiegongzi.mapper;
 
 
 
import cn.xiegongzi.entity.User;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
import org.apache.ibatis.annotations.Mapper;
 
 
 
// @Component
 
// @Configuration
 
// 注:这个对象托管,我测试过了,只有两种方法可以做到 即:上面这两个注解无法实现,测试时会报错
 
 
 
@Mapper // @MapperScan("cn.xiegongzi.mapper") 在启动类中加入这个注解也可以实现
 
public interface IUserMapper extends BaseMapper<User> {
 
// BaseMapper 和 JPA一样,内部有很多方法 , 即:CRUD.....,还有分页( 分页就是page()这个方法 )
 
// BaseMapper原来的样子是:BaseMapper<T> T表示实体类 类型
 
 
 
}
 
 

注意点:别用@Component@Configuration这两个注解实现对象托管,会报错:错误如下 截图

报的错很多,总之一句话就是:导入的依赖没有导入,即:依赖我已经导入了,但是:报我没有相应的依赖,我得出的理由:mybatis / mybatis-plus相对spring来说是外部的,因此:使用spring的@Component@Configuration注解来实现对象托管,mybatis并不买账,只能用它自己的注解才可以

附:BaseMapper<T>提供的方法如下: 截图

2.5)、测试

截图

其他的知识,在mybatis-plus官网中都有

作者:紫邪情

出  处:
https://www.cnblogs.com/xiegongzi/p/15554243.html



相关教程