入门SpringBoot整合MybatisPlus
1.创建一个SpingBoot项目
这里使用的是idea创建SpringBoot项目,选择一下依赖:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JdUVaIZr-1598514398208)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200827141211050.png)]
2.打开pom.xml文件添加如下依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
添加完之后刷新下maven,防止没有下载依赖
确定依赖下载号之后先测试下项目能否启动
刚刚启动完发现有错误
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sVYZ42oS-1598514398214)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200827143127625.png)]
说我没有配置DataSource
这里有两个解决方案
- 在启动类注解上添加
exclude = DataSourceAutoConfiguration.class
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
}
}
-
测试发现是我使用的SpringBoot版本的问题,这里我使用的是2.3.3它没有帮我自动配置DataSource,换个低一点的版本就可以了
3.测试MybatisPlus
先写一个pojo实体类,添加一些属性
@Data @Accessors(chain=true) @TableName("user") //实现表与对象的关联 如果名称一致(忽略大小写)可以省略表名 public class User implements Serializable { private static final long serialVersionUID = 4151513604704102299L; @TableId(type= IdType.AUTO)//表主键标识 private Integer id; private String name; private Integer age; private String sex; }
里面@TableName注解跟@TableId注解 是MybatisPlus框架中的注解
再写个UserMapper接口
public interface UserMapper extends BaseMapper<User> { }
这里接口需要继承BaseMapper,而且需要加泛型就是你的实体类类型
再配置下yml配置文件
server: port: 8090 servlet: context-path: / spring: datasource: #driver-class-name: com.mysql.cj.jdbc.Driver #驱动注释,采用默认的方式 url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true username: root password: root #Mybatisplus整合 mybatis-plus: #定义别名包 将实体对象的包路径进行封装. type-aliases-package: com.cy.pojo #添加xml文件的依赖 mapper-locations: classpath:/mybatis/*.xml #开启驼峰映射 # configuration: # map-underscore-to-camel-case: true # 配置数据库日志 logging: level: #打印哪个包下的日志信息. com.jt.mapper: debug
写一个测试类测试功能,查询性别"男" 年龄大于20的
@SpringBootTest public class MybatisTest { @Autowired private UserMapper userMapper; @Test public void TestMP(){ //new一个条件构造器,用来传入SQL语句需要的判断条件 QueryWrapper<User> queryWrapper=new QueryWrapper<>(); queryWrapper.gt("sex","男"); List list = userMapper.selectList(queryWrapper); System.out.println(list); } }
QueryWrapper中eq表示相等,lt表示 < , gt 表示 > , le表示 <= ,ge表示>=
运行看结果
mybatis-plus框架功能很强大,把很多功能都集成了,比如自动生成代码结构,mybatis crud封装,分页,动态数据源等等,附上官网链接https://mp.baomidou.com/,github上有代码例子,国内小伙伴推荐码云https://gitee.com/baomidou/mybatis-plus。
但是,其中还是有些小坑,文档也没有涉及的很全面,碰到问题,百度或者发issue,能力强的还是直接看源码好,一切答案都在源码中。
idou.com/,github上有代码例子,国内小伙伴推荐码云https://gitee.com/baomidou/mybatis-plus。
但是,其中还是有些小坑,文档也没有涉及的很全面,碰到问题,百度或者发issue,能力强的还是直接看源码好,一切答案都在源码中。