日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

MyBatis動態SQL實現配置過程解析

瀏覽:28日期:2023-10-24 10:51:59

動態SQL

什么是動態SQL:

​ 動態SQL就是根據不同的條件生成不同的SQL語句

if choose(when,otherwise) trim(where,set) foreach

1、搭建環境

建表

CREATE TABLE `bolg`( `id` VARCHAR(50) NOT NULL COMMENT ’博客id’, `title` VARCHAR(100) not null comment ’博客標題’, `author` VARCHAR(30) not null comment ’博客作者’, `creat_time` datetime not null comment ’創建時間’, `views` int(30) not null comment ’瀏覽量’)ENGINE=InnoDB DEFAULT CHARSET=utf8

創建一個基礎工程

導包

編寫配置文件

編寫實體類

@Datapublic class Blog { private int id; private String title; private String author; private Date creatTime; private int views;}

編寫實體類對應的Mapper接口和Mapper.xm

2、IF

<select parameterType='map' resultType='com.rui.pojo.Blog'> select * from mybatis.bolg where 1=1 <if test='title != null'> and title = #{title} </if> <if test='author != null'> and author = #{author} </if></select>

@Testpublic void queryBlogIF(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); BlogMapper mapper = sqlSession.getMapper(BlogMapper.class); HashMap map = new HashMap(); map.put('author','尹銳'); List<Blog> blogs = mapper.queryBlogIF(map); for (Blog blog : blogs) { System.out.println(blog); } sqlSession.close();}

3、choose(when,otherwise)

<select parameterType='map' resultType='com.rui.pojo.Blog'> select * from mybatis.bolg <where> <choose> <when test='title != null'>title=#{title} </when> <when test='author!=null'>and author = #{author} </when> <otherwise>and views = #{views} </otherwise> </choose> </where></select>

4、trim(where,set)

select * from mybatis.bolg<where><if test='title != null'> title = #{title}</if><if test='author != null'> and author = #{author}</if></where>

<update parameterType='map'> update mybatis.bolg <set> <if test='title != null'> title = #{title}, </if> <if test='author != null'> author = #{author}, </if> </set> where id = #{id}</update>

所謂的動態SQL,本質還是SQL語句,只是我們可以在SQL層面,去執行一些邏輯代碼

5、Foreach

select * from user where 1=1 and <foreach item='id' index='index' collection='ids' open='(' separator='or' close=')'> #{id} </foreach>(id=1 or id=2 or id=3)

MyBatis動態SQL實現配置過程解析

<!--select * from mybatis.bolg where 1=1 and (id=1 or id=2 or id=3)我們現在傳遞一個萬能的map,這個map中可以存在一個map--><select parameterType='map' resultType='com.rui.pojo.Blog'> select * from mybatis.bolg <where> <foreach collection='ids' item='id' open='(' close=')' separator='or'> id = #{id} </foreach> </where></select>

動態SQL就是在拼接SQL語句,我們只要保證SQL的正確性,按照SQL的格式,去排列組合就可以了

建議:

先在MySQL中寫出完整的SQL,再對應的去修改成為我們的動態SQL

SQL片段

有的時候,我們可能會將一些公共的部分抽取處理,方便復用

使用SQL標簽抽取公共的部分

<sql id='if-title-author'> <if test='title != null'> title = #{title} </if> <if test='author != null'> and author = #{author} </if></sql>

在需要使用的地方使用Include標簽引用即可

<select parameterType='map' resultType='com.rui.pojo.Blog'> select * from mybatis.bolg <where> <include refid='if-title-author'></include> </where></select>

注意事項:

最好基于單表來定義SQL片段

不要存在where或者set標簽,片段里盡量只有if就好了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
石原莉奈在线亚洲二区| 亚洲人成毛片在线播放女女| 激情自拍一区| 日本在线精品| 欧美日韩视频网站| 韩国久久久久久| 日韩综合在线| 麻豆理论在线观看| 九九精品调教| 日韩电影免费网址| 日韩美女一区二区三区在线观看| 国产成人精品一区二区三区免费| 麻豆国产精品777777在线| 免费一区二区三区在线视频| 精品中文字幕一区二区三区四区| 免费日韩成人| 精品国产乱码久久久久久1区2匹| 国产一区二区三区免费在线 | 日韩在线综合| 少妇久久久久| 国产一区日韩一区| 欧美成人亚洲| 国产视频一区三区| 99热精品在线| 亚洲1区在线| 国产精品久久久久久av公交车 | 国产精品一区二区免费福利视频 | 成人在线丰满少妇av| 成人亚洲欧美| 99国产精品视频免费观看一公开 | 欧美一级一区| 国产精品一区二区免费福利视频| 国产aa精品| 久久人人88| 免费久久99精品国产| 国产精品手机在线播放| 97精品视频在线看| 欧美综合国产| 老牛国内精品亚洲成av人片 | 免费视频最近日韩| 国产精品xxx在线观看| а√天堂8资源中文在线| 黄色亚洲精品| 日韩欧美中文字幕电影 | 国产精品久久久久久av公交车| 福利精品一区| 午夜精品网站| 国产精品亚洲综合久久| 日韩啪啪电影网| 鲁大师影院一区二区三区| 国产亚洲一区| 亚洲无线一线二线三线区别av| 亚洲精品美女91| 日韩综合一区| 日韩欧美三区| 一区二区精品伦理...| 国产精品毛片一区二区三区| 国产欧美一区二区三区精品观看| 电影亚洲精品噜噜在线观看| 亚洲aa在线| 日本免费一区二区三区四区| 亚洲一区二区三区无吗| 成人午夜在线| 综合色一区二区| 成人久久一区| 欧美日韩一区二区国产| 免费av一区| 免费看一区二区三区| 亚洲欧美视频一区二区三区| 精品国产精品久久一区免费式| 国产日韩一区二区三区在线 | 欧美亚洲二区| 婷婷激情图片久久| 麻豆精品少妇| 老鸭窝毛片一区二区三区| 荡女精品导航| 91欧美极品| 日韩高清成人在线| 91精品91| 日韩大片在线观看| 国产精品视频一区二区三区综合| 99精品99| 日韩av一级| 免费观看不卡av| 成人在线观看免费视频| 久久国产乱子精品免费女| 亚洲专区一区| 九一精品国产| 精品午夜视频| 欧美在线亚洲| 国产精品18| 免费在线观看视频一区| 国产精品密蕾丝视频下载| 午夜在线精品| 亚洲二区视频| 精品视频99| 国产亚洲精品美女久久| 亚洲尤物在线| 欧美日韩在线观看视频小说| 日韩国产91| 首页国产欧美日韩丝袜| 欧美日中文字幕| 日本精品黄色| 国产精品久久久亚洲一区| 亚洲日本欧美| 午夜在线视频一区二区区别| 欧美影院视频| 国产欧美日韩精品一区二区免费| 国产日产精品_国产精品毛片 | 国产精品成久久久久| 亚洲精品少妇| 亚洲一区二区三区高清| 国产精品av一区二区| 亚洲2区在线| 视频一区在线播放| 国产午夜精品一区二区三区欧美 | 亚洲精品一二三区区别| 国产一区2区| 久久精品理论片| 精品国产亚洲一区二区三区| 日韩高清成人在线| 天堂精品久久久久| 亚洲精品在线二区| 国产精品videossex| 国产福利资源一区| 欧美视频久久| 91成人在线网站| 国产伦精品一区二区三区视频| 欧美在线首页| 日韩精品一区第一页| 免费观看日韩电影| 亚洲人成亚洲精品| 日韩精品一区二区三区中文字幕| 亚洲天堂av资源在线观看| 中文一区一区三区免费在线观 | 精品视频高潮| av免费不卡国产观看| 嫩呦国产一区二区三区av| 欧美成人精品一级| 美女精品久久| 精品九九久久| 日韩在线观看不卡| 国产成人调教视频在线观看| 日韩精品水蜜桃| 日韩视频一区| 亚洲欧洲av| 国产日韩高清一区二区三区在线 | 国产精品久久乐| 国产一区二区三区精品在线观看| 狠狠躁少妇一区二区三区| 久久中文亚洲字幕| 老牛影视一区二区三区 | 欧美精品aa| 日本aⅴ精品一区二区三区| 国产精品午夜一区二区三区| 韩国女主播一区二区三区| 亚洲精品国产嫩草在线观看| 亚洲精品99| 日韩高清一区二区| 国产精品密蕾丝视频下载| 福利一区二区三区视频在线观看| 九九精品调教| 综合亚洲色图| 免费一级欧美在线观看视频| 伊人久久视频| 免费在线观看不卡| 麻豆国产精品| 在线亚洲激情| 国产探花在线精品| 久久天堂成人| 亚洲精品三级| 成人一区不卡| 免费精品视频最新在线| 久久精品系列| 日韩午夜在线| 你懂的亚洲视频| 日韩午夜黄色| 免费看久久久| 国产精品丝袜xxxxxxx| 国产精品一区二区99| 99久久精品网站| 欧美一级一区| 香蕉久久99| 国产精品videossex| 99国产精品| 欧美1区二区| 欧美资源在线| av中文资源在线资源免费观看| 男女激情视频一区| 国产一区国产二区国产三区| 99亚洲视频| 精品久久久中文字幕| 蜜臀久久久久久久| 亚洲精品高潮| 国产精品夜夜夜| 欧美大黑bbbbbbbbb在线| 国产精品亚洲二区| 亚洲综合电影一区二区三区| 国产一区二区三区亚洲综合| 蜜桃视频第一区免费观看|