springboot中mybatis字段如何映射(SpringBoot整合)
springboot中mybatis字段如何映射(SpringBoot整合)
2024-11-22 05:35:46  作者:鸾镜妆残  网址:https://m.xinb2b.cn/life/fpx104847.html

之前讲了Springboot整合Mybatis,介绍了如何自动生成pojo实体类、mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能。mybatis 插件自动生成的mapper 实现了大部分基本、通用的方法,如:insert、update、delete、select 等大概20个左右方法,都是比较基础的增删改查,这些通用Mapper提供的方法基本都能满足各种单表操作需求。

但是,在实际工作中通用Mapper并不能满足所有的工作,或是某个业务需要手写 sql 语句、或是多表关联时,该怎么办呢? 这就需要额外的一些自定义的mapper 实现一些特定的功能。下面就来介绍自定义mapper 的实现。


一、快速实现

首先需要创建一个项目并整合mybatis等相关框架,这个之前介绍过这里不再细说。直接在原来的基础上实现。《Spring Boot如何使用Mybatis XML 配置版》

1、创建自定义 mapper

在com.weiz.mapper 包中,创建 SysUserMapperCustom 接口

package com.weiz.mapper;import com.weiz.pojo.SysUser;import java.util.List;public interface SysUserMapperCustom { List<SysUser> queryUserSimplyInfoById(String userId);}

SysUserMapperCustom 是一个接口,这里只定义了一个方法:queryUserSimplyInfoById 。

2、创建对应的xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.weiz.mapper.SysUserMapperCustom" > <!-- 查询用户信息 --> <select id="queryUserSimplyInfoById" resultType="com.weiz.pojo.SysUser"                  parameterType="java.lang.String" > select * from sys_user where id = #{id,jdbcType=VARCHAR} </select></mapper>

说明:

  id:对应的就是 接口名,

  resultType:返回的是结果类型,

  parameterType:参数的类型,

3、Service 调用

首先在UserService接口中增加queryUserByIdCustom方法,然后在对应的 UserServiceImpl 实现类中,注入SysUserMapperCustom 。最后实现queryUserByIdCustom 方法,在方法中调用前面自定义的mapper 类中方法即可。具体代码如下:

// 1. 在UserServiceImpl 中注入SysUserMapperCustom @Autowiredprivate SysUserMapperCustom userMapperCustom;// 2. 实现接口方法,调用@Overridepublic SysUser queryUserByIdCustom(String userId) { List<SysUser> userList = userMapperCustom.queryUserSimplyInfoById(userId); if (userList != null && !userList.isEmpty()) { return (SysUser)userList.get(0); } return null;}

二、测试

首先在原先的MybatisController 创建一个测试方法。

@RequestMapping("/queryUserByIdCustom")public JSONResult queryUserByIdCustom(String userId) { return JSONResult.ok(userService.queryUserByIdCustom(userId));}

启动项目,并在浏览器中输入地址:http://localhost:8080/mybatis/queryUserByIdCustom?userId=200425AYXA733M5P


最后

以上,就把Spring Boot 中mybatis 如何通过自定义mapper 实现多表关联查询介绍完了,实现起来比较简单。上面的例子比较简单,没有做多表关联,大家自己写的时候,可以试试复杂的多表关联。

这个系列课程的完整源码,也会提供给大家。大家私信我(章为忠学架构),回复:springboot源码 。获取这个系列课程的完整源码。

推荐阅读:

Spring Boot如何整合Quartz 实现定时任务

Spring Boot入门系列(八)整合定时任务Task,一秒搞定定时任务

Spring Boot入门系列(十五)Spring Boot 开发环境热部署的配置

Spring Boot 使用JdbcTemplate操作数据库,配置多数据源

Maven快速入门(二)手动创建maven项目hellomaven

Maven快速入门(一)Maven介绍及环境搭建

史上最强《Java 开发手册》泰山版,阿里出品,必属精品

Spring Boot入门系列(十三)如何实现事务,极简版!

  • 血氧分析仪器(抗原日产能1.1亿人份)
  • 2024-11-22抗原日产能1.1亿人份12月29日,在工信部召开的疫情防控重点医疗物资保障情况新闻发布会上,有媒体提问:工业和信息化部正在指导企业提升医疗物资产能产量,请问目前抗原检测试剂、疫苗、口罩、血氧仪等重点医疗物资生产供应情况如何。
  • 舌头上面有舌苔怎么回事(舌苔出现四个变化)
  • 2024-11-22舌苔出现四个变化舌头是身体里面一个重要的器官,舌头不仅会说话,而且通过舌头也可以判断自己的身体健康与否,舌苔如果出现4个变化,或许身体已经出现问题了,今天我们就了解一下通过舌苔的哪4个变化情况,说明身体已经出现问题了。
  • 肝脏有问题会出现哪些表现(身体或有4个异常表现)
  • 2024-11-22身体或有4个异常表现肝脏在临床也被称为最沉默的器官、傻大个,之所以会如此,是因为肝脏具有许多其他器官没有的特点,比如它的代偿能力非常强大,肝细胞受损到仅剩30%,其都能完成基本工作且肝脏没有末梢神经分布、具有再生的能力,。
  • qcc品管圈是谁发明的(品管QC的演变)
  • 2024-11-22品管QC的演变QC的演变一、什么是QC:QUAOLITYCONTROL1.QC就是品质管制,是以最经济,最有效的方法去开发,设计,生产,服务,从而达到客户满意的产品或服务A.现有国际常见品质管制有两种模式B.以检查。
  • 结婚需要彩礼吗(日本结婚需要彩礼吗)
  • 2024-11-22日本结婚需要彩礼吗结婚时男方给女方彩礼是从古至今都有的习俗,它代表了一个男方诚心求娶女方的态度,很多人将彩礼作为婚前“试金石”而在现代,彩礼却成了很多即将走入婚姻殿堂之人的阻碍有多少对情侣在彩礼这一步谈崩,断送多年的情。
  • 李小璐在一起的真实生活(李小璐在车库跟小鲜肉一同进出)
  • 2024-11-22李小璐在车库跟小鲜肉一同进出什么?近日李小璐有了新的恋情?有网友爆料称:李小璐疑似跟年轻帅气的小伙子出现在捱肩擦背的地方露面,接下来小编为大家东谈西说一下李小璐,相信大多数人都知道,李小璐跟贾乃亮有过一段长达七年的婚史,他们俩也。
  • 韶关地区未来有几所大学(韶关市的三所大学一览)
  • 2024-11-22韶关市的三所大学一览1、韶关学院广东韶关学院坐落于粤北历史文化名城韶关市,是经中国教育部批准成立的一所省属公办全日制综合性普通本科大学学校前身是创办于1958年的韶关师专,是一所学科齐全的综合性大学学校注重对外交流与合作。
  • 醋泡花生米能减肥吗(醋泡花生米能不能减肥)
  • 2024-11-22醋泡花生米能不能减肥使用醋泡生花生米进行减肥,还没有明确的临床依据减肥还需要遵从科学的依据,最好由医生根据患者的具体情况,进行适当的针灸治疗或者中药调理,也能起到一定的减肥效果不过,总的来说,减肥仍然需要饮食控制和适量运。
  • 女流和yj什么关系(耗时8年女流喜得驾照)
  • 2024-11-22耗时8年女流喜得驾照女流,主播圈内高学历的代表之一,也是斗鱼主机区的牌面一姐身为清华北大双学霸,女流不仅直播游戏干得顺风顺水,她的传奇经历甚至还被电视剧作为青少年的榜样流传然而,女流却有着一件“一生之敌”的传闻从2014。
  • 银耳红枣枸杞汤的功效(丰胸食谱大全及做法)
  • 2024-11-22丰胸食谱大全及做法红糟羊肉材料:羊肉1斤、红糟3两、老姜母1段、橄榄油2大匙、佐料酒半碗作法:羊肉切块,入水汆烫去羊骚味后捞起1.老姜洗净拍裂,入热油中爆香,加红糟以中火炒至微焦2.加入羊肉炒匀,加酒煮开后,加入10碗。
  • less怎么读(less如何读)
  • 2024-11-22less如何读less的读音为:英[les]、美[les]less的意思是:较少的;(与不可数名词连用)更少的,少;更少;较小;没那么多,减去;扣除,小的;比较小的;(用在形容词的后面表示喜爱或厌恶,尤指屈尊俯就地。