springboot中mybatis字段如何映射(SpringBoot整合)
springboot中mybatis字段如何映射(SpringBoot整合)
2024-11-22 08:55:34  作者:鸾镜妆残  网址:https://m.xinb2b.cn/tech/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入门系列(十三)如何实现事务,极简版!

  • 吴谢宇弑母带来的影响(迷雾中的吴谢宇弑母案)
  • 2024-11-23迷雾中的吴谢宇弑母案包括吴谢宇舅舅谢强(化名)在内的众多亲属,至今无法理解惨案为何会发生“从小非常非常非常完美的小宇”涉嫌弑杀他的母亲谢天琴,疑犯精心设计了作案现场,并用手机远程监控着房间里的一举一动三年过去,吴谢宇如同。
  • 一墩难求冰墩墩为什么会这么火(实地探访冰墩墩)
  • 2024-11-23实地探访冰墩墩随着2022年北京冬奥会拉开战幕,吉祥物“冰墩墩”成为现象级“顶流”,憨态可掬的大熊猫套着冰晶外壳,“萌杀”万千网友奥林匹克官方旗舰店“冰墩墩”周边一再售罄,各冬奥官方特许商店外排起长队,“一墩难求”。
  • 哈萨克斯坦的官方语言是什么(删掉国名中的斯坦)
  • 2024-11-23删掉国名中的斯坦16日,哈萨克斯坦总统托卡耶夫在乌勒套主持召开了哈萨克斯坦首届国家库鲁尔泰会议没有必要改变国家的名称托卡耶夫在会议上发表的致辞中表示,在修宪公投之后,哈萨克斯坦进入了发展历程的一个全新阶段伴随着宪法修。
  • 可以看dvd碟片的软件(dvd刻录机如何使用)
  • 2024-11-23dvd刻录机如何使用DVD刻录机是把资料保存到光盘中的电子产品,那么dvd刻录机如何使用,今天就让PChouse来为大家讲一下一、如果电脑是Win7系统的,可以把文件直接复制到光盘上二、如果是xp系统的,就需要上网下一个。
  • 日产五万左右自动挡新车(10万内的日产三厢车)
  • 2024-11-2310万内的日产三厢车这篇文章的主角,是一辆经典的的日产三厢车,它就是19款的日产轩逸经典款,没错,这车还在卖着,而且还能满足国六排放标准,起售价9万多,顶配11万多,和大众的POLO以及桑塔纳等更低级别的车型处于相同的售。
  • 仓鼠在正常情况下会掉毛吗(治疗仓鼠掉毛急不得)
  • 2024-11-23治疗仓鼠掉毛急不得在日常饲养仓鼠的过程中,有时候我们会突然发现自家仓鼠的身体某一部位出现大面积的掉毛其中,仓鼠的腹部、耳朵侧以及脖颈处往往是出现仓鼠掉毛状况的高发区遇到仓鼠掉毛的情况,很多捡屎官会心急如焚,到处求医问药。
  • 太平洋保险被指店大欺客(太平洋保险顺德支公司诱导销售)
  • 2024-11-23太平洋保险顺德支公司诱导销售本人的女儿与太平洋保险顺德支公司的销售人员李某的儿子曾同在顺德容桂振华幼儿园就读同一班级,因此本人与太平洋保险顺德支公司的销售人员李某互存了微信联系方式2017年,李某经常主动向本人介绍一些保险的产品。
  • 炒茄子到底有多好吃 这是我吃过全宇宙最好吃的虎皮青椒炒茄子
  • 2024-11-23炒茄子到底有多好吃 这是我吃过全宇宙最好吃的虎皮青椒炒茄子茄子切成小滚刀块,加盐腌制十几分钟青椒切长条葱蒜切碎腌制好的茄子挤去多余的水分,这样做茄子不吸油热锅放少许油,油热放入茄子煎煎至两面金黄,捞出备用青椒用刚才的锅煎煎至虎皮状捞出备用热锅放油,油热放入葱。
  • 工业除湿机除湿能力(实验室如何选择合适的除湿机)
  • 2024-11-23实验室如何选择合适的除湿机实验室、仪器室和实验室对环境有严格要求的主要原因是实验设备这些设备非常精密,其质量直接影响实验结果如果实验设备有问题,你能指望实验数据准确吗?另一个是实验样本如果环境不好,很容易被空气污染,结果达不到。
  • 十二星座上升星座怎么算排名(上升星座查询表)
  • 2024-11-23上升星座查询表“上升星座”具有关键性的影响力,你可以把它看做是你的灵魂,或是你生命中的舵一月出生的12星座上升星座查询表二月出生的12星座上升星座查询表三月出生的12星座上升星座查询表四月出生的12星座上升星座查询。
  • c1驾照从6月1日有什么变化(还有1天驾照迎来)
  • 2024-11-23还有1天驾照迎来您在阅读前请点击上面的“关注”二字,后续会为您提供更多有价值的相关内容,感谢您的支持很多机动车的车主惦记的4月1日即将到来,之所以会惦记,是因为在4月1日开始,《机动车驾驶证申领和使用规定》和《道路交。
  • 澳洲土著还是原始社会(澳大利亚的土著还不算人)
  • 2024-11-23澳大利亚的土著还不算人中国民间有句半为训斥半为埋怨的话,叫作“你就拿我不当人!”“当人”,这是极其重要的事情就在几十年前的上世纪六十年代,澳大利亚还在讨论土著与白人殖民者生的后代算不算人那时澳大利亚土著已经被白人殖民者灭绝。