最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis一對(duì)多兩種mapper寫(xiě)法實(shí)例

 更新時(shí)間:2020年12月04日 11:13:17   作者:愿你活成你喜歡的模樣  
這篇文章主要介紹了mybatis一對(duì)多兩種mapper寫(xiě)法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

mybatis一對(duì)多兩種mapper寫(xiě)法

第一種

<resultMap type="com.example.demo.model.TuserModel" id="extendMapper">
 <id column="id" property="id" />
 <result column="user_name" property="userName" />
 <result column="nick_name" property="nickName" />
 <result column="avatar" property="avatar" />
 <result column="email" property="email" />
 <result column="signature" property="signature" />
 <result column="create_time" property="createTime" />
 <result column="update_time" property="updateTime" />
 <result column="del_flag" property="delFlag" />
 <collection property="tpluginModels" ofType="com.example.demo.model.TpluginModel"
 column="id">
 <id column="pid" property="id" />
 <result column="user_id" property="userId" />
 <result column="name" property="name" />
 <result column="icon" property="icon" />
 <result column="vsersion" property="vsersion" />
 <result column="tags" property="tags" />
 <result column="description" property="description" />
 <result column="bcreate_time" property="createTime" />
 <result column="bupdate_time" property="updateTime" />
 <result column="del_flag" property="delFlag" />
 </collection>
 </resultMap>

sql語(yǔ)句用聯(lián)表查詢

 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},'%')

第二種

<resultMap type="com.example.demo.model.TuserModel" id="extendMapper">
 <id column="id" property="id" />
 <result column="user_name" property="userName" />
 <result column="nick_name" property="nickName" />
 <result column="avatar" property="avatar" />
 <result column="email" property="email" />
 <result column="signature" property="signature" />
 <result column="create_time" property="createTime" />
 <result column="update_time" property="updateTime" />
 <result column="del_flag" property="delFlag" />
 
 <collection property="tpluginModels" column="id" ofType="com.example.demo.model.TpluginModel" 
 select="pluginByUid" /> //column='id' 為關(guān)聯(lián)查詢所需條件
 </resultMap>

sql語(yǔ)句使用兩個(gè)sql語(yǔ)句返回結(jié)果

 <select id="selectTuserBynameOrNick" resultMap="extendMapper"> SELECT 
 * FROM t_user WHERE del_flag = 0 AND ( user_name LIKE CONCAT( '%', #{name},'%') 
 OR nick_name LIKE CONCAT( '%', #{name},'%')) </select> 
//下個(gè)sql語(yǔ)句依賴(lài)上個(gè)
<select id="pluginByUid" resultType="com.example.demo.model.TpluginModel"> 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}
 </select>

補(bǔ)充知識(shí):Mybatis 一個(gè)dao 對(duì)應(yīng)多個(gè)Mapper.xml

由于項(xiàng)目中的mybatis的mapper是用mybatis generator自動(dòng)生成的,但是生成的mapper滿足不了我的業(yè)務(wù),需要自己擴(kuò)展,所以就研究了下、

添加接口

創(chuàng)建mapper.xml

修改配置

1.添加接口

在原dao中加個(gè)接口

/** ---------------自定義Mapper--------------- **/

List<PcacheCluster> select(ClusterInstanceBO clusterInstanceBO);

2. 創(chuàng)建mapper.xml

PcacheClusterMapperExtend.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.oppo.paas.pcache.manager.mapper.PcacheTemplateMapper">

 <select id="select" parameterType="com.oppo.paas.pcache.manager.entity.PcacheTemplate" resultMap="BaseResultMap">
 select
 <include refid="Base_Column_List" />
 from t_pcache_template 

 <where>
 <if test="templateId != null and templateId != ''">
  and template_id = #{templateId}
 </if>
 <if test="templateName != null and templateName != ''">
  and template_name = #{templateName}
 </if>
 <if test="templateType != null and templateType != ''">
  and template_type = #{templateType}
 </if>
 <if test="createUser != null and createUser != ''">
  and create_user = #{createUser}
 </if>
 <if test="createTime != null ">
  and create_time = #{createTime,jdbcType=TIMESTAMP}
 </if>
 </where>
 order by create_time desc
 </select>
</mapper>

3. 修改配置

項(xiàng)目目錄:

添加mapper掃描路徑

 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
 <property name="dataSource" ref="dataSource"/>
 <!-- 自動(dòng)掃描mapping.xml文件 -->
 <property name="mapperLocations" >
  <array>
  <value>classpath:mybatis/mappers/*Mapper.xml</value>
  <!-- 擴(kuò)展mapper.xml -->
  <value>classpath:mybatis/mappers/extend/*MapperExtend.xml</value>
  </array>

 </property>
 <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"></property>
 <property name="plugins">
  <array>
  <bean class="com.github.pagehelper.PageInterceptor">
   <!-- 這里的幾個(gè)配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
   <property name="properties">
   <value>
    helperDialect=mysql
    reasonable=true
    supportMethodsArguments=true
    params=count=countSql
    autoRuntimeDialect=true
   </value>
   </property>
  </bean>
  </array>
 </property>
 </bean>

mybatis generator 已經(jīng)過(guò)時(shí)了哦,太麻煩,耦合性高,建議使用通用Mapper,完美繼承spring,springboot

學(xué)習(xí)地址:https://gitee.com/free/Mapper/wikis/Home

以上這篇mybatis一對(duì)多兩種mapper寫(xiě)法實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一篇文章教會(huì)你使用java爬取想要的資源

    一篇文章教會(huì)你使用java爬取想要的資源

    這篇文章主要介紹了使用java爬蟲(chóng)爬取想要的資源,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Spring、SpringMVC和SpringBoot的區(qū)別及說(shuō)明

    Spring、SpringMVC和SpringBoot的區(qū)別及說(shuō)明

    這篇文章主要介紹了Spring、SpringMVC和SpringBoot的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-10-10
  • RocketMQ發(fā)送事務(wù)消息詳解

    RocketMQ發(fā)送事務(wù)消息詳解

    這篇文章主要介紹了RocketMQ發(fā)送事務(wù)消息詳解,RocketMQ分布式事務(wù)消息不僅可以實(shí)現(xiàn)應(yīng)用之間的解耦,又能保證數(shù)據(jù)的最終一致性,傳統(tǒng)的大事務(wù)可以被拆分為小事務(wù),不僅能提升效率,還不會(huì)因?yàn)槟骋粋€(gè)關(guān)聯(lián)應(yīng)用的不可用導(dǎo)致整體回滾,需要的朋友可以參考下
    2023-09-09
  • Java中的Set集合簡(jiǎn)單匯總解析

    Java中的Set集合簡(jiǎn)單匯總解析

    這篇文章主要介紹了Java中的Set集合簡(jiǎn)單匯總解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • SpringBoot打印POST請(qǐng)求原始入?yún)ody體方式

    SpringBoot打印POST請(qǐng)求原始入?yún)ody體方式

    這篇文章主要介紹了SpringBoot打印POST請(qǐng)求原始入?yún)ody體方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Linux安裝JDK兩種方式詳細(xì)教程(附圖)

    Linux安裝JDK兩種方式詳細(xì)教程(附圖)

    這篇文章主要給大家介紹了關(guān)于Linux安裝JDK兩種方式詳細(xì)教程的相關(guān)資料,Linux的使用相信大家都要用到j(luò)ava吧,在使用java前我們得先安裝jdk以及配置環(huán)境變量等工作,需要的朋友可以參考下
    2023-11-11
  • 初步了解javafx

    初步了解javafx

    這篇文章主要介紹了初步了解javafx,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • FeignClient如何共享Header及踩坑過(guò)程記錄

    FeignClient如何共享Header及踩坑過(guò)程記錄

    這篇文章主要介紹了FeignClient如何共享Header及踩坑過(guò)程記錄,
    2022-03-03
  • java數(shù)據(jù)結(jié)構(gòu)與算法之插入排序詳解

    java數(shù)據(jù)結(jié)構(gòu)與算法之插入排序詳解

    這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之插入排序,結(jié)合實(shí)例形式分析了java插入排序的概念、分類(lèi)、原理、實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • springboot實(shí)現(xiàn)瀏覽器截屏并添加文字

    springboot實(shí)現(xiàn)瀏覽器截屏并添加文字

    大家好,本篇文章主要講的是springboot實(shí)現(xiàn)瀏覽器截屏并添加文字,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02

最新評(píng)論

舟曲县| 扬中市| 渭源县| 泽州县| 临朐县| 昂仁县| 新郑市| 黄石市| 襄樊市| 汕尾市| 龙山县| 苗栗市| 松潘县| 亚东县| 诸暨市| 延寿县| 东乡| 疏勒县| 民和| 婺源县| 芦溪县| 伊金霍洛旗| 扶风县| 巴塘县| 舟山市| 金湖县| 海原县| 团风县| 牙克石市| 府谷县| 兴义市| 华蓥市| 石渠县| 融水| 樟树市| 尉犁县| 锦州市| 山丹县| 大新县| 新竹市| 通化市|