456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當(dāng)前位置: 主頁 > 資訊動(dòng)態(tài) > IT知識庫 >

Mybatis4 之Mybatis動(dòng)態(tài)sql的實(shí)現(xiàn)代碼


2020-03-22 20:48 作者:艾銻無限 瀏覽量:
中小企業(yè)為什么要選擇IT外包呢?
 
 
中小企業(yè)選擇IT外包服務(wù)的原因,首先大家想到的可能是節(jié)省成本,但從專業(yè)的角度上來說,節(jié)省成本卻不是最重要的,這時(shí)代任何一家企業(yè)都會(huì)成為IT公司,任何一家企業(yè)都會(huì)成互聯(lián)網(wǎng)公司,任何一家企業(yè)最終也都會(huì)成為數(shù)據(jù)公司,所以中小企業(yè)在發(fā)展中,IT的規(guī)劃和運(yùn)用是最重要的,這直接決定著這家企業(yè)能活多久,能活多好.
 
但往往中小企業(yè)負(fù)責(zé)人為了方便,會(huì)直接花錢找個(gè)網(wǎng)絡(luò)管理員,讓這個(gè)人即處理企業(yè)內(nèi)部電腦和網(wǎng)絡(luò)的問題,又兼著其它方面的工作,從表面上看好像還挺劃算,而且人是自己公司的人,好像也挺放心.
 
但實(shí)際恰恰相反,我給大家講個(gè)故事,可能你就明白了.
 
有一家手機(jī)企業(yè),他們的核心優(yōu)勢是研發(fā)和生產(chǎn),營銷和廣告并不是他們具備的能力,為了更好的銷售他們生產(chǎn)的手機(jī),他們就請來了一個(gè)專門搞營銷和廣告的經(jīng)理,因?yàn)楣咎幵诎l(fā)展時(shí)期,為了節(jié)省成本,所以這個(gè)經(jīng)理就自己一個(gè)兵,在沒有團(tuán)隊(duì)的情況下,又要想策劃,又要搞制作,還要設(shè)計(jì)圖片,最終策劃出來的方案是二流的,制作和設(shè)計(jì)還是三流的,導(dǎo)致手機(jī)銷售量非常差,沒有正常現(xiàn)金流,后來這家企業(yè)就倒閉關(guān)門了.
 
還有一家手機(jī)企業(yè),他們的核心優(yōu)勢也是研發(fā)和生產(chǎn),但他們的負(fù)責(zé)人非常智慧,把營銷和廣告部分外包給了一家行業(yè)頂尖的企業(yè),這家企業(yè)幫助他們策劃出了一個(gè)絕佳的方案,還幫助落實(shí)和執(zhí)行了整個(gè)方案,最終大獲全勝,當(dāng)年手機(jī)銷量邁進(jìn)了全國前三,后來核算整體在營銷和廣告的投入和產(chǎn)出卻是極低的.
 
上面兩個(gè)案例,讓我們看到了企業(yè)致勝的關(guān)鍵不是你有什么,而是你如何利用你的沒有.
 
總的來說中小企業(yè)選擇IT外包公司有三大優(yōu)勢:
 
l  首先節(jié)省成本是第一點(diǎn)優(yōu)勢
我們透過下圖可以看出企業(yè)自招網(wǎng)管和用IT外包公司成本可以節(jié)省90%以上,而且還是專業(yè)的團(tuán)隊(duì)提供服務(wù).
l  其次專業(yè)化的服務(wù)讓企業(yè)有更多的時(shí)間搶占先機(jī)是第二大優(yōu)勢
專業(yè)的團(tuán)隊(duì),可以根據(jù)你不同的需要匹配不同的工程師,這大大節(jié)省了企業(yè)的時(shí)間,互聯(lián)網(wǎng)時(shí)代,分秒必爭,當(dāng)年滴滴和快滴的100億戰(zhàn)爭,不就是為了贏得時(shí)間,讓自己更快的戰(zhàn)領(lǐng)這個(gè)市場,失去先機(jī)就失去了一切,所以IT外包公司給你帶來的不僅僅是專業(yè),還有先機(jī).
l  最后獲得專業(yè)的解決方案成為行業(yè)的領(lǐng)導(dǎo)地位是第三大優(yōu)勢
這個(gè)時(shí)代已經(jīng)不是人海戰(zhàn)術(shù),而是運(yùn)用互聯(lián)網(wǎng)技術(shù),以一當(dāng)十,以十當(dāng)百的快速發(fā)展,那怎樣可以迅速從行業(yè)中脫穎而出,就需要互聯(lián)網(wǎng)的解決方案,一家專業(yè)的互聯(lián)網(wǎng)IT外包公司可以讓你快速轉(zhuǎn)型升級,最重要的不僅僅只有方案,還有切實(shí)可行的落地執(zhí)行,讓你更專注自己核心業(yè)務(wù),達(dá)到強(qiáng)強(qiáng)聯(lián)合的效果.
你的企業(yè)IT外包了嗎?
 

Mybatis4 之Mybatis動(dòng)態(tài)sql的實(shí)現(xiàn)代碼

1.什么是動(dòng)態(tài)SQL
傳統(tǒng)的使用JDBC的方法,相信大家在組合復(fù)雜的的SQL語句的時(shí)候,需要去拼接,稍不注意哪怕少了個(gè)空格,都會(huì)導(dǎo)致錯(cuò)誤。Mybatis的動(dòng)態(tài)SQL功能正是為了解決這種問題, 其通過 if, choose, when, otherwise, trim, where, set, foreach標(biāo)簽,可組合成非常靈活的SQL語句,從而提高開發(fā)人員的效率。
SQL語句不固定, 會(huì)根據(jù)前臺用戶的操作而進(jìn)行變化的SQL語句, 可以被稱之為動(dòng)態(tài)SQL. 在MyBatis中, 提供了一組標(biāo)簽, 用于方便的實(shí)現(xiàn)動(dòng)態(tài)SQL, 不需要通過java代碼拼接字符串了.
###2.動(dòng)態(tài)sql中的標(biāo)簽

1. <if>
用于條件判斷, test屬性表示判斷結(jié)果, 要求是一個(gè)boolean.

2.<where>
用于維護(hù)where子句, 通常配合一起使用. 如下功能:
a)當(dāng)沒有條件時(shí), 不會(huì)創(chuàng)建WHERE關(guān)鍵字;
b)當(dāng)有條件時(shí), 會(huì)自動(dòng)生成WHERE關(guān)鍵字;
c)會(huì)自動(dòng)去掉第一個(gè)條件的and/or關(guān)鍵字.

3.<choose><when><otherwise>
功能類似于switch…case…default, 表示多分支判斷, 只能成立一個(gè)條件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<mapper namespace="com.bjsxt.mapper.UserMapper">
 <select id="selByCondition" resultType="user">
 select * from tb_user
 <where>
  <if test="id != null">
  and id=#{id}
  </if>
  <if test="username != null and username != ''">
  and username=#{username}
  </if>
  <if test="age != null">
  and age &lt;&gt; #{age}
  </if>
  <choose>
  <when test="birthday != null and birthday != ''">
   and birthday = #{birthday}
  </when>
  <otherwise>
   and birthday is null
  </otherwise>
  </choose>
 </where>
 </select>
</mapper>

4.<bind>
對參數(shù)進(jìn)行加工, 通常用于模糊查詢給參數(shù)加通配符
1
2
3
4
5
6
7
8
9
<select id="sel2" resultType="user">
 <include refid="base_sql" />
 <where>
 <if test="realname != null and realname != ''">
  <bind name="realname" value="'%' + realname + '%'"/>
  and realname like #{realname}
 </if>
 </where>
</select>

5.<include>
配合使用, 用于提取通用sql語句片段, 用于引用SQL片段
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<sql id="base_sql">
 select
 id, username, password, realname, age, birthday, reg_time regTime
 from tb_user
</sql>
<select id="sel2" resultType="user">
 <include refid="base_sql" />
 <where>
 <if test="realname != null and realname != ''">
  <bind name="realname" value="'%' + realname + '%'"/>
  and realname like #{realname}
 </if>
 </where>
</select>

6.<set>
用于維護(hù)update語句中的set子句, 特點(diǎn)是可以刪除多余的逗號
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<update id="upd">
 update
 tb_user
 <set>
 <if test="username != null and username != ''">
  username=#{username},
 </if>
 <if test="age != null">
  age=#{age}
 </if>
 </set>
 where
 id=#{id}
</update>

7.<foreach>
遍歷集合(數(shù)組, List, Set, Map), 通常用于in操作或批量新增. 屬性簡介:
a)collection: 要遍歷的集合
b)item: 迭代項(xiàng)
c)open: 以什么字符開頭
d)close: 以什么字符結(jié)束
e)separator: 多個(gè)迭代項(xiàng)之間的分隔符
1
2
3
4
5
6
7
8
9
<delete id="delBatch">
 delete from tb_user
 <where>
 id in
 <foreach collection="ids" item="id" open="(" close=")" separator=",">
  #{id}
 </foreach>
 </where>
</delete>

8.<trim>
在語句的前后進(jìn)行追加和去除指定的字符.
1
2
3
4
5
6
7
8
<insert id="insBatch">
 insert into tb_user values
 <foreach collection="users" item="user" separator=",">
 <trim prefix="(" prefixOverrides="," suffix=")" suffixOverrides=",">
  ,default, #{user.username}, #{user.password}, #{user.realname}, #{user.age}, #{user.birthday}, now(),
 </trim>
 </foreach>
</insert>
知識點(diǎn)補(bǔ)充:靜態(tài)sql與動(dòng)態(tài)sql有什么區(qū)別
SQL 語句從編譯和運(yùn)行的角度可以分為兩種,靜態(tài) SQL和 動(dòng)態(tài) SQL,這兩種 SQL 在使用方式、運(yùn)行機(jī)制和性能表現(xiàn)等方面各有特點(diǎn) :
靜態(tài) SQL:靜態(tài) SQL 語句一般用于嵌入式 SQL 應(yīng)用中,在程序運(yùn)行前,SQL 語句必須是確定的,例如 SQL 語句中涉及的列名和表名必須是存在的。靜態(tài) SQL 語句的編譯是在應(yīng)用程序運(yùn)行前進(jìn)行的,編譯的結(jié)果會(huì)存儲在數(shù)據(jù)庫內(nèi)部。而后程序運(yùn)行時(shí),數(shù)據(jù)庫將直接執(zhí)行編譯好的 SQL 語句,降低運(yùn)行時(shí)的開銷。
動(dòng)態(tài) SQL:動(dòng)態(tài) SQL 語句是在應(yīng)用程序運(yùn)行時(shí)被編譯和執(zhí)行的,例如,使用 DB2 的交互式工具 CLP 訪問數(shù)據(jù)庫時(shí),用戶輸入的 SQL 語句是不確定的,因此 SQL 語句只能被動(dòng)態(tài)地編譯。動(dòng)態(tài) SQL 的應(yīng)用較多,常見的 CLI 和 JDBC 應(yīng)用程序都使用動(dòng)態(tài) SQL。
靜態(tài)sql:語句類型在編程時(shí)候必須是確定好的。比如
1
2
select * from employee where empno='abc'
select * from employee where empno='12'
都必須是確定的,唯一可以變化的是abc的值。
動(dòng)態(tài)sql:語句類型可以在運(yùn)行期間指定,比如clp就是最典型的動(dòng)態(tài)sql程序,你可以輸入任何命令。
靜態(tài)sql的存取路徑是在運(yùn)行前就確定好的,而動(dòng)態(tài)sql的存取路徑是在運(yùn)行時(shí)動(dòng)態(tài)生成的。因此生成的存取計(jì)劃相對更優(yōu),但考慮到生成存取路徑的開銷,有可能應(yīng)用程序的運(yùn)行時(shí)間相對會(huì)比靜態(tài)sql長些。
總結(jié)
到此這篇關(guān)于Mybatis4 之Mybatis動(dòng)態(tài)sql的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)mybatis動(dòng)態(tài)sql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

 

相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 免费成人网在线观看_上海少妇69式偷拍hd_91色噜噜狠狠狠狠色综合_亚洲乱妇19p_国产女人50精品二区毛片视涩漫_日韩精品资源在线_四虎影视免费永久在线_成人一区二区三区久久精品嫩草 | 136fldh导航福利微拍_不卡一区二区在线_一本色道综合久久亚洲精品_一区二区三区高清在线视频_我色综合_在线观看人成_国产精品国产三级国产普通话_青草久久久久 | av色国产色拍_亚洲欧美日本在线观看_久久黄色录像_99热这里只有精品8_天天色天天操天天_看全色黄大色黄女片_日本久久片_成人在线欧美 | 本免费Av无码专区一区_日韩中文不卡_丝袜高潮流白浆潮喷在线播放_亚洲AV无码片区一区二区三区_春色视频成人www_久久久国产一级_日韩精品一二三区_av黄色免费 | 福利社区一区二区_国产日韩精品一区二区在线观看播放_717影院理论午夜伦八戒_在线观看视频中文字幕_高清国产AV一区二区三区_视频二区精品中文字幕_久久夜夜躁天天躁背后的原因_99热国产在线中文 | 先锋资源av免费网_嗯啊亚洲_人人妻人人爽人人做夜欢视频九色_亚洲综合一区二区三区无码_免费又黄又裸乳的视频_国产视频www_69国产在线_中国亚州女人69内射少妇 | 国产精品日韩欧美一区二区_精品久久人人做人人爽综合_国产在线第一_制服丝袜美腿一区二区_日日夜夜一区二区_中文字幕亚洲精品无码_oxox国产午夜精品_欧美性视频在线看 | 国产欧美精品一区二区三区小说_99999色_免费丝袜脚足控网站_男人扒开女人腿桶到爽免费_操操操av_超碰人人透人人爽人人看_色yeye香蕉凹凸视频在线观看_cao久久 | 野花社区日本免费图片_国产成人福利在线一区_国产精品一区二区视频_天天天天操_国产永久免费观看_欧洲成人18片_日韩区一区二区三_麻豆最新国产AV原创精品 国产一区二区四区在线观看_亚洲欧洲日产国无高清码图片_97国产精品欲_精品国产女主播在线观看_一级免费a一片_在线观看黄的网站_avtom影院永久地址_毛片免费网站 | 国产小视频免费观看_国产普通话刺激视频在线播放_亚洲国产精品无码JAVA_国产网曝门视频在线看_亚洲AV永久无码一区_se中文天堂网_亚洲高清久久久_午夜影院福利视频 | 亚洲天堂地址_美女免费视频一区二区三区_午夜视频在线免费播放_国产精品VA在线观看无码_少妇人妻偷人精品无码视频新浪_亚洲AV无码AV在线播放_成人在线视频一区_黄色二区 | 大地影院高清mv在线观看_永久免费AV无码网站打屁股_亚洲欧美熟妇综合久久久久_国产日产欧产精品精品蜜芽_青青操网址_亚洲毛片在线观看_亚洲图色欧美另类小说_在线免费av网站 | 色狠狠av五综合久久久_四虎影院最新网址_国产精品久久久久久久模特_一区二区在线不卡_18禁黄网站禁片免费观看女女_91成人影院_色老大影院www.97uuu.com_精品区一区二区三 | 久久亚洲婷婷_国产原创大胆私拍视频_密室大逃脱第6期免费观看_色欲AV午夜一区二区三区_91精品国产91久久久久久青草_国产在线观看高清视频_国产真实乱偷精品视频免_日韩一级在线观看 | 国产露脸ⅹxxxⅹ高清hd_成人爽视频_a级毛片免费观看在线_亚洲AV无码午夜国产精品色软件_99久久精_亚洲一区二区三区免费看_大白肥妇BBVBBW高潮_亚洲国产精品久久久久久久 | 亚洲最新av网站_yy111111少妇影院_国产AV夜夜欢一区二区三区_成人1区2区_欧美日韩版_av中文无码乱人伦_亚洲精品深夜AV无码一区二区_国产麻豆 成人资源在线_无限动漫视频在线观看免费动漫_久久国产二区_美日韩一区二区_亚洲久久视频_少妇高潮呻吟在线观看_国产亚洲2021成人乱码_日本成人久久久 | 少妇把腿扒开让我添69_好猛好深好爽喷水无码视频_日本丰满熟妇乱XXXXX故事_欧美无人区码SUV_黄网免费观看_国产成人精品免费视频大全可播放的_蜜臀亚洲AV无码精品国产午夜._大地资源网高清在线观看 | 国产初高中生视频在线观看_GOGO少妇无码肉肉视频_奇米777四色成人影视_日本黄色五级片_色婷婷成人做爰视频免费_谍战剧惊弦免费观看_在线观看xxxx7777视频_免费a网 | 俺去啦最新地址_久久久一牛精品99久久精品66_内地老太婆内射内地小矮人内射_欧美日影院_国产第一页浮力影院草草影视_aaa亚洲精品一二三区_熟女人妻aⅴ一区二区三区60路_91秒拍福利视频 | 69xxxx免费_国产偷抇久久精品_美国经典三级_国产被窝福利一区二区_少女视频哔哩哔哩免费观看_艳妇臀荡乳欲伦1_国产午夜福利精品久久2021_www亚洲精品 | 手机看片日韩日韩_久久996热在线播放_中国丰满大乳乳液_免费观看一级特黄欧美大片_亚洲最新av无码中文字幕一区_欧美一级爱爱_少妇激情av一区二区_国产成人综合久久精品 | 国产精品www_欧美久草_国产欧美亚洲精品第三页_在线无码成本人视频动漫_国产日韩精品综合网站_国产亚洲精品91在线_中文字幕av免费观看_亚洲性视屏 | 中国黄色a级_午夜剧场韩_国产av刺激无码_视频二区不卡_美女裸体爆乳免费网站_亚洲国产精品女人久久久_亚洲五月丁香综合视频_小泽玛利亚一区二区在线观看 | 免费动漫黄爽A片在线观看_一区精品视频_91在线无精精品秘?入口九色_av网站免费播放_亚洲综合无码精品一区二区三区_国产精品嫩草99a_av免费看国产_日韩αv在线 | 超黄视频免费看_国产精品午夜一区二区欲梦_日韩高清www_国产无遮挡色视频免费观看性色_四虎WWW成人影院观看_国产精品热视频_妺妺窝人体色777777仙人掌_www.夜夜草 | 日韩成人精品_韩国三级中文字幕HD久久精品_福利在线看_国产精品日韩AV在线播放_无套中出丰满人妻无码_精品xxxx户外露出视频_国产实拍会所女技师在线观看_97在线国产视频 | 亚洲成本人无码薄码区_中日字幕大片在线播放_一级毛片免费播放_无码人妻H动漫中文字幕_亚洲黄色a_国产自在自线午夜精品视频_成人国产免费软件_日韩av一区二区三区四区 | 青青青国产依人在线_亚洲国产无色码在线播放_男女好痛好深好爽视频_亚洲欧美一区在线观看_天天爽天天狠久久久综合麻豆_日韩人妻无码喷潮中出_亚洲大香线伊人婷婷五月_天天夜天天操 | www日韩在线_成人国产一区二区三区精品麻豆_啄木鸟系列在线_国产奶水一区二区三区_国产91超漂亮magnet_夜夜操网_四虎免费紧急入口观看_在线一级片 | 插我一区二区在线观看_日韩综合av_狠狠狼鲁亚洲综合网_台湾无码一区二区_亚洲精品无码日韩国产不卡AV_在线观看欧美一区_久久人人av_一级片在线免费观看视频 | 亚洲欧美日本国产_日本aaaa大片免费观看入口_久久97超碰_中文字幕无码久久精品青草_国产成人AV综合亚洲色欲_一区二三区日韩精品_久操精品在线_久久专区 | 欧美成人看片黄a免费看_久操麻豆_岛国在线无码免费观_www.97爱_一区二区三区四区视频免费观看_萍萍的性荡生活第六季_国产综合高清在线观看_久久无码精品一区二区三区 | 精品视频—区二区三区免费_韩国久久久久_欧美在线一级_在办公室把护士给爽了动态图_国内一区二区视频_久久久久中文_亚洲成在人线在线播放_国产剧情乱偷 | 精品国产色_天天宗合_国产乱国产乱_国内一级视频_亚洲国产高清在线播放_大香伊蕉在人线国产97_亚洲影院丰满少妇中文字幕无码_无码精品A在线观看无 | 久久中文一区二区_久视频精品线在线观看_97久久人人爽人人爽人人片_日韩中出视频_视屏一区_热99re久久国免费超精品首页_日韩无线码精品中文字幕视频手机_美女毛片免费看 | 成人一级片在线免费观看_久久免费视频3_青青视频国产_亚洲第一极品精品无码_a中文字幕www_日韩精品国产自在久久现线拍_性无码专区无码片_成人在线精品 | 国产一二区av_精品久久香蕉国产线看观看亚洲_91少妇香蕉久久精_国产成人综合亚洲欧美_中文字幕av久久人妻蜜桃臀_亚洲专区在线播放_欧美一级片在线观看_欧洲黑白配一二三四区 | 麻豆精品国产入口_日本一二三区不卡_在线免费黄_美女不带套日出白浆免费视频_国产精品盗摄久久久_日本中文字幕在线免费观看_国产一级一级_成人区一区 | 免费看的黄视频_懂色av一区二区三区久久久_网站大全免费网址_亚洲国产高清在线_a免费毛片_久久久不卡_一区高清视频_www480jcom四虎 | 边摸边脱吃奶边高潮视频免费_91精品国产综合久久久久久久久_无码伊人66久久大杳蕉网站谷歌_国产丝袜精品视频_日本韩国国产_久久精品欧洲_www.99色_www.91桃色 | 精品二区在线_欧美日韩亚洲中文字幕一区二区三区_欧美精品_伊人逼逼_欧美熟乱妇_最近的2019中文字幕免费_亚洲中文字幕av无码区_www.av日韩 |