springboot中mybatis字段如何映射(SpringBoot整合)
springboot中mybatis字段如何映射(SpringBoot整合)
2024-11-05 09:24:07  作者:鸾镜妆残  网址: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-06短期练腹肌忌讳吃哪些食物练腹忌高脂高热食物高脂肪、高热量的食物本来吃多了就对身体健康有害,练腹肌的时候也绝不能吃,否则对肌肉的生长很不利,反而会堆积脂肪因此,像巧克力、坚果、花生、牛油果、肥肉、油炸食品、蛋糕、冰淇淋、饮料等。
  • 历史上真实的第一位假太监(历史上三个假太监有多奇葩)
  • 2024-11-06历史上三个假太监有多奇葩历史上最大胆的三个假太监能有多离谱?一个让太后为他生子,一个欺辱了皇后,最后一个不仅霸占了皇帝后宫,还直接杀了皇帝那么这三个假太监,是如何进入皇宫并蒙骗所有人的?又为何能做出如此大逆不道的事情呢?首先。
  • 人生有得亦有失(有苦有乐有成有败)
  • 2024-11-06有苦有乐有成有败一、你还年轻,别凑合过,接下来的人生,还有很多种可能二、没有任何好抱怨的事,一切的遭遇都是在为自己的曾经买单三、和新事物交手时,不要怕犯错其实错误并不可怕,它只是一个学习的机会,每个人都是在试错中成长。
  • 食品安全标准中的致病菌概念(食品中二噁英限量标准亟待制定)
  • 2024-11-06食品中二噁英限量标准亟待制定点击上方↑“中国标准化”↑关注我们导读目前正值大闸蟹上市时节,但日前我国台湾“食药署”发布消息称,抽检发现来自大陆的大闸蟹含超标致癌物二噁英,引发人们的担忧记者了解到,大闸蟹已经不止一次被检出二噁英超。
  • 实体店线上线下运营模式(从线上走向线下)
  • 2024-11-06从线上走向线下中新网北京6月3日电(刘文文)如今,越来越多的互联网公司开始从线上走向线下,开始线下实体门店运营此前,关于线下门店“难以盈利”和“重资产”的质疑一直存在互联网公司到底该不该开线下店?巨头企业开拓线下门。
  • 上海垃圾分类是一种新时尚:上海新时尚
  • 2024-11-06上海垃圾分类是一种新时尚:上海新时尚新华社上海7月2日电题:上海“新时尚”:用“绣花功”解垃圾分类“大难题”新华社记者郑钧天、杜康生活垃圾分“可回收物、有害垃圾、干垃圾、湿垃圾”四大种类;个人如果混合投放垃圾,最高可罚款200元;单位如。
  • 双子座流星雨要来了你想看吗(我们看到的双子座流星雨)
  • 2024-11-06我们看到的双子座流星雨宇宙学家已经得知3200“法顿”是双子座流星雨的来源——但是3200法厄同是什么呢?介于彗星与小行星之间,它的神奇本质一直困扰着天文学家们人们对于3200法厄同是一颗小行星的概念可能来自看了这张特写注。
  • 刹车气压不足怎么解决(刹车气压不足怎么办)
  • 2024-11-06刹车气压不足怎么办出现此现象原因是空气;空气压缩机排气阀封闭不严;空气压缩机缸盖螺栓松动或缸盖衬垫冲坏而漏气;空气压缩机到储气筒的气管破裂或接头漏气;油水分离器或空气滤清器沉积物过多而堵塞启动发动机在中速以上转速运转,。
  • 武汉的旅游景点(有什么吸引人的景色)
  • 2024-11-06有什么吸引人的景色木兰山,传说巾帼英雄朱木兰曾在山下居住,明万历三十七年(1609)在山上建寺纪念,山亦更名木兰山古建筑群分布于将军坟、东泉庵、水晶宫、古寨四区,以古寨区最宏大寨内建筑均就地取石干砌,不用沙浆勾缝,历数。