java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧

文章java springboot整合MyBatis做数据库查询操作讲述了boot项目整合MyBatis的操作方法

但现在就还有一个 MyBatis-Plus
Plus是国内整合的一个技术 国内的很多人会喜欢用 特别是一些中小型公司 他们用着会比较舒服

好 然后我们打开idea
创建一个项目
图片[1] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
选择 Spring Initializr 工程
调一下项目路径 选择一下 java和jdk的版本 然后点击 Next
图片[2] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
选择一下spring boot的版本 二点几就够了
图片[3] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
到这啦 大家就会发现一个问题 sql下根本找不到 MyBatis-Plus
图片[4] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
因为他是国人开发的东西 所以 并没有被spring boot官方收录坐标

没有 OK 那我们就先不管 我们先只要这个 MySql的驱动
图片[5] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
然后我们点击 Finish 创建项目
项目就创建好了
图片[6] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
但MyBatis-Plus还没有引入 我们访问地址
https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient/3.1访问Maven主站
进入后搜索 MyBatis-Plus
图片[7] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
在这里 我们就可以看到它对应的坐标
我们点第一个进去
图片[8] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
这里 版本的话 我们就选个 3.4.3
图片[9] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
然后 我们直接点进去
图片[10] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
这东西 反应可能有点慢 老实说 反应挺迟钝的
进入界面后向下拉

如图位置就有他这个坐标了
图片[11] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
我们只需要将这个内容复制一下
我们找到刚刚创建的项目的 pom.xml 文件 将内容粘贴到dependencies标签中
图片[12] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
这里 我们可以看到 他是 mybatis-plus-boot-starter 内容上直接没有spring这个词了
图片[13] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
因为上面已经导入了 所以 我们直接将spring的这个起步依赖给干掉就好了
图片[14] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
如果你的东西和我的一样 在这里报红 就可以这样操作 因为 2019版本的 IDEA 比较特殊
图片[15] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
等右下角读条下载一会儿
图片[16] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
然后 这里就没有任何问题了
图片[17] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
然后 第二件事
和我们上文一样 做配置
我们看到自己本地的数据库

我们这里是个 MySql数据库
要操作 下面的 test数据库
图片[18] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
回到项目 先找到application.properties配置文件 然后右键

图片[19] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
改成 yml
图片[20] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
参考内容如下

spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/testusername: rootpassword: root

这里 我们声明 用MySql 然后 url 如果你没特殊设置过直接复制就好了 声明本机端口 3306下的 test数据库
然后 用户名密码 因为我没动过 就都是 root

然后还是上文一样 看到我们要操作的 staff表
图片[21] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
这里是四个数字类型 加一个字符串类型

然后 找到我们项目中的启动类 在同目录下创建目录 domain
图片[22] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
在下面创建一个与表同名的 staff 类
参考代码如下

package com.example.mep.domain;public class staff {private int id;private String name;private int age;private int status;private int departmentid;@Overridepublic String toString(){return "staff{"+"id"+id+"namne"+name+"age"+age+"status"+status+"departmentid"+departmentid+"}";}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getStatus() {return status;}public void setStatus(int status) {this.status = status;}public int getDepartmentid() {return departmentid;}public void setDepartmentid(int departmentid) {this.departmentid = departmentid;}}

我们根据表字段 创建了所有的变量
然后 给这些变量都加上对应的 get set函数
然后 用 toString 输出所有变量的值

然后在启动类同目录 创建dao层
图片[23] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
下面创建一个接口 叫
图片[24] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
参考代码如下

package com.example.mep.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.mep.domain.staff;import org.apache.ibatis.annotations.Mapper;@Mapperpublic interface staffDao extends BaseMapper<staff> {}

这里 直接去继承 BaseMapper
规范类型 是我们刚刚创建的属性类 staff
BaseMapper接口中 增删除改的操作就都有了
并用 Mapper 将它交给spring去管理

然后 直接在测试类中去使用就好了
图片[25] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
我们测试类编写代码如下

package com.example.mep;import com.example.mep.dao.staffDao;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;@SpringBootTestclass MepApplicationTests {@Autowiredprivate staffDao staffDao;@Testvoid contextLoads() {System.out.println(staffDao.selectById(1));}}

这里 这个 selectById 根据id查询 是BaseMapper提供的 根据id查询
然后运行代码
可以看到 我们的 sql语句就执行成功了
图片[26] - java springboot整合MyBatis-Plus 多用点Plus支持一下国人开发的东西吧 - MaxSSL
这里还有一种情况 如果你的数据库表 名字是 xxx_xxx 存在下划线 那么 这时 他就会有问题 找不到表 因为你类名也没办法加下划线

我们可以在application.yml中编写

mybatis-plus:global-config:db-config:table-prefix: tmp_

这样 他就会将我们内容全部读成 tmp_为前缀
例如 tmp_user表 你用user属性类 泛型 他就找得到了

大家可以多去看看 BaseMapper中的函数 真的还是比较方便的
多用用 plus 吧 支持一下国人开发的东西

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享