springboot中mybatis字段如何映射(SpringBoot整合)
springboot中mybatis字段如何映射(SpringBoot整合)
2024-11-06 03:58:49  作者:鸾镜妆残  网址: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入门系列(十三)如何实现事务,极简版!

  • 睡觉鼻塞的妙招(睡觉鼻塞苦不堪言)
  • 2024-11-06睡觉鼻塞苦不堪言每到冬季,很多朋友都会出现鼻塞的症状,虽然日常生活中不会有太大的影响,但一到晚上睡觉时,鼻塞仿佛就严重了很多,翻来覆去睡不着,甚至会影响到我们的睡眠,以至于第二天工作与学习时无精打采,严重影响到了正常。
  • 什么像大扇子一样(长的像大蒲扇一样)
  • 2024-11-06长的像大蒲扇一样这种多肉南非大片大片生长,叶子红彤彤似蒲扇,小盆完全养不了要说哪里的多肉植物最多,在全世界来说,多肉种类最多,品种最多,数量最多的地方是在南非地区,因为这个地方是最适合多肉生长繁殖的地方,这个地方的气。
  • 维生素食物排行榜前十名(维生素食物大百科)
  • 2024-11-06维生素食物大百科生活再不易,工作再忙碌,唯有美食不可辜负可就算每天都吃饱喝足,你的身体却还在喊着:不够!什么不够?维生素!●接近85%的18-44岁女性缺乏维生素D●超过80%的中国居民维生素B1和维生素B2摄入不足。
  • 007系列电影全集目录(007系列第二十二部分)
  • 2024-11-06007系列第二十二部分007系列第二十二部分哥,别人指使他去杀人,自己却被人算计着进入了一个布置好的密室,被一步步引入了死亡陷阱,最后被人当成练手的对象给干掉了这个密室里豁然布置着七哥的真人模型,只见他熟练地拔出枪扣动扳机。
  • 别跟自己的女人讲道理 说真的女人别轻易和
  • 2024-11-06别跟自己的女人讲道理 说真的女人别轻易和#头号解忧馆#文/乔木女人一定要明白,一个男人如果真正爱你,他不会主动和你断联,他不会在你的世界失去痕迹但凡一个男人,能轻易在你世界里来来去去,不在乎你的感受,不在乎你的情绪,不在乎你是不是会伤心难过。
  • 倍轻松儿童定制款护眼仪(职场女性的护眼神器)
  • 2024-11-06职场女性的护眼神器文:AutumnWu来源:Foodaily每日食品(ID:foodaily)“在潜力巨大的护眼市场,格力高旗下品牌LIBERA瞄准细分人群,护眼巧克力美味不脏手,助力职场女性缓解视疲劳”受疫情影响,大。
  • 古人建房茅厕位置:古人说天门不烧火
  • 2024-11-06古人建房茅厕位置:古人说天门不烧火在咱们中国,流传很多俗语,这些俗语大都是祖先生产经验和智慧的结晶,仔细品味你会发现里面蕴含着一定的道理,今天给大家分享的俗语是“天门不烧火,地户不栽树”,看到这里,大家可能会问,天门和地户指的是啥?为。
  • 石家庄到天津的高速通车时间(石家庄至天津3小时通达)
  • 2024-11-06石家庄至天津3小时通达今天(22日)11时,天津市至河北石家庄的津石高速正式通车,从河北石家庄至天津市的通行时间缩短了50分钟,3个小时就可以到达津石高速公路(编号为G0211)是《国家公路网规划》中的G2京沪高速联络线,。
  • 就算是世界末日我也要跟你在一起(如果明天就是世界末日)
  • 2024-11-06如果明天就是世界末日一小时候,我问我母亲,一个人出生之前,和死了之后,是不是一样的我母亲说:“在精神上应该是一样的”当时我想,既然我并不惧怕出生之前,自然也不必惧怕死亡之后了自此我以为我已摆脱了死亡的恐惧我认识你时,你父。
  • 大理丽江西双版纳自助游最佳路线:昆明大理丽江西双版纳
  • 2024-11-06大理丽江西双版纳自助游最佳路线:昆明大理丽江西双版纳二、不同天数怎么玩转昆大丽6天时间怎么玩?DAY1.飞抵昆明、玩转昆明市内DAY2.游览石林DAY3.楚雄-大理古城-洱海游艇-吉普车环洱海DAY4.前往丽江拉市海-丽江古城-DAY5.束河古镇-玉龙。
  • 高压变频器的工作原理及作用(高压变频器的优点跟缺点)
  • 2024-11-06高压变频器的优点跟缺点 高压变频器的优点在冶金、化工、电力、市政供水和采矿等行业普遍应用的泵类负载,占整个用电设备能耗的40%左右,电费在自来水厂以至占制水本钱的50%这是由于:一方面,设备在设计时,通常都留有一定的余量;。