mysql一对多mapper里怎么写_mybatis一对多两种mapper写法实例

本文介绍了在MyBatis中处理一对多关系的两种Mapper写法。第一种通过联表查询实现,第二种则使用两个独立的SQL语句。此外,还补充了关于如何自定义和扩展MyBatis的Mapper,包括添加接口、创建新的mapper.xml文件以及修改配置文件的相关步骤。
摘要由CSDN通过智能技术生成

mybatis一对多两种mapper写法

第一种

column="id">

sql语句用联表查询

u.*,p.id

as

pid,p.user_id,p.name,p.icon,p.vsersion,p.tags,p.description,p.create_time

as bcreate_time,p.update_time as bupdate_time,p.del_flag from t_user u

LEFT

JOIN t_plugin p ON u.id=p.user_id and u.del_flag=0 and

p.del_flag=0 WHERE

u.user_name LIKE CONCAT('%',#{name},'%') OR

u.nick_name LIKE

CONCAT('%',#{name},'%')

第二种

select="pluginByUid" /> //column='id' 为关联查询所需条件

sql语句使用两个sql语句返回结果

SELECT

* FROM t_user WHERE del_flag = 0 AND ( user_name LIKE CONCAT( '%', #{name},'%')

OR nick_name LIKE CONCAT( '%', #{name},'%'))

//下个sql语句依赖上个

SELECT id,user_id as

userId,name,icon,vsersion,tags,description,

create_time as createTime ,update_time as updateTime ,del_flag as delFlag

FROM t_plugin WHERE del_flag = 0 AND user_id = #{id}

补充知识:Mybatis 一个dao 对应多个Mapper.xml

由于项目中的mybatis的mapper是用mybatis generator自动生成的,但是生成的mapper满足不了我的业务,需要自己扩展,所以就研究了下、

添加接口

创建mapper.xml

修改配置

1.添加接口

在原dao中加个接口

/** ---------------自定义Mapper--------------- **/

List select(ClusterInstanceBO clusterInstanceBO);

2. 创建mapper.xml

PcacheClusterMapperExtend.xml

select

from t_pcache_template

and template_id = #{templateId}

and template_name = #{templateName}

and template_type = #{templateType}

and create_user = #{createUser}

and create_time = #{createTime,jdbcType=TIMESTAMP}

order by create_time desc

3. 修改配置

项目目录:

03aec7ee2b12256d61691cebde465891.png

添加mapper扫描路径

classpath:mybatis/mappers/*Mapper.xml

classpath:mybatis/mappers/extend/*MapperExtend.xml

helperDialect=mysql

reasonable=true

supportMethodsArguments=true

params=count=countSql

autoRuntimeDialect=true

mybatis generator 已经过时了哦,太麻烦,耦合性高,建议使用通用Mapper,完美继承spring,springboot

以上这篇mybatis一对多两种mapper写法实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值