日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > IT知識庫 >

Mybatis4 之Mybatis動態sql的實現代碼


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

Mybatis4 之Mybatis動態sql的實現代碼

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

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

2.<where>
用于維護where子句, 通常配合一起使用. 如下功能:
a)當沒有條件時, 不會創建WHERE關鍵字;
b)當有條件時, 會自動生成WHERE關鍵字;
c)會自動去掉第一個條件的and/or關鍵字.

3.<choose><when><otherwise>
功能類似于switch…case…default, 表示多分支判斷, 只能成立一個條件
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>
對參數進行加工, 通常用于模糊查詢給參數加通配符
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>
用于維護update語句中的set子句, 特點是可以刪除多余的逗號
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>
遍歷集合(數組, List, Set, Map), 通常用于in操作或批量新增. 屬性簡介:
a)collection: 要遍歷的集合
b)item: 迭代項
c)open: 以什么字符開頭
d)close: 以什么字符結束
e)separator: 多個迭代項之間的分隔符
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>
在語句的前后進行追加和去除指定的字符.
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>
知識點補充:靜態sql與動態sql有什么區別
SQL 語句從編譯和運行的角度可以分為兩種,靜態 SQL和 動態 SQL,這兩種 SQL 在使用方式、運行機制和性能表現等方面各有特點 :
靜態 SQL:靜態 SQL 語句一般用于嵌入式 SQL 應用中,在程序運行前,SQL 語句必須是確定的,例如 SQL 語句中涉及的列名和表名必須是存在的。靜態 SQL 語句的編譯是在應用程序運行前進行的,編譯的結果會存儲在數據庫內部。而后程序運行時,數據庫將直接執行編譯好的 SQL 語句,降低運行時的開銷。
動態 SQL:動態 SQL 語句是在應用程序運行時被編譯和執行的,例如,使用 DB2 的交互式工具 CLP 訪問數據庫時,用戶輸入的 SQL 語句是不確定的,因此 SQL 語句只能被動態地編譯。動態 SQL 的應用較多,常見的 CLI 和 JDBC 應用程序都使用動態 SQL。
靜態sql:語句類型在編程時候必須是確定好的。比如
1
2
select * from employee where empno='abc'
select * from employee where empno='12'
都必須是確定的,唯一可以變化的是abc的值。
動態sql:語句類型可以在運行期間指定,比如clp就是最典型的動態sql程序,你可以輸入任何命令。
靜態sql的存取路徑是在運行前就確定好的,而動態sql的存取路徑是在運行時動態生成的。因此生成的存取計劃相對更優,但考慮到生成存取路徑的開銷,有可能應用程序的運行時間相對會比靜態sql長些。
總結
到此這篇關于Mybatis4 之Mybatis動態sql的實現代碼的文章就介紹到這了,更多相關mybatis動態sql內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

 

相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 公天天吃我奶躁我的在线观看_午夜激情网_2021精品亚洲中文字幕_国产免费小视频_九九热在线观看_欧美亚洲日本国产其他_国产高潮呻吟久久_亚洲精品成人a在线观看 | 色婷婷av一区二区三区之红樱桃_精品日韩亚洲AV无码一区破坏_美女扒开尿口给男人看_性生大片免费观看高清视频_久久久久久久久久99精品_91成人国产精品_东京热一本无码av_久久网伊人 | 欧美日韩精品一区二区在线视频_国产午夜精品一区二区三区不卡_国内精品伊人久久久久AV影院_国产精品av久久久久久网站_真人性囗交视频_高清国产在线播放成人_丁香九月激情_国产www在线观看 | 日韩第一视频_香蕉影院在线_无套内射无矿码免费看黄_千金不装了短剧免费观看_九九久久国产_爆乳2把你榨干哦无码_三级小说一区_国产在线观看91一区二区三区 | www.久_国产成人在线网址_小视频在线看_91视频免费看片_欧美裸体XXXX极品少妇_免费国产精品视频_草逼网页_99热中文 | 精品一区二区久久久久无码_福利一区二区_日韩精品动漫一区二区三区_中文字幕痴汉一色桃子视频_免费视频久久久久_丰满少妇高潮惨叫久久久一_波多野结衣1区_国产成人理论在线观看视频 | 日本一区二区不卡高清更新_啦啦啦在线观看免费版中文_国产专区精品_亚洲熟女乱色综合亚洲小说_免费看午夜无码福利专区_国产区视频一区_大黑人交xxxx18视频_四lll少妇bbbb搡bbbb | 二区毛片_国产只有精品_亚洲精品无码MV在线观看软件_午夜福利在线永久视频_偷拍各类美女嘘嘘88av_女教师《枫可怜》av_六月激情婷婷_91精品国产综合久久久久久久久 | 久久成人免费观看_4虎海外永久域站_黄色一类片_免费视频久久久_色欲人妻AAAAAAA无码_国产嫖妓一区二区三区麻豆_色综合久久中文_日本精品福利 国产精品久久久久久久福利竹菊_久久激情小视频_国产伦精品一区二区三区视频黑人_久久精品无码午夜福利理论片_久色成人在线_色婷婷久久综合中文久久_成人欧美一区二区三区黑人免费_国产高潮a片羞羞视频涩涩 | 国产精品自在拍视频首页_中文字幕乱码亚洲无线码按摩_成人激情视频在线观看_www.四虎com_国产在线视频99_2002亚洲精品真实在线_国产精选在线播放_色先锋影音岛国av资源 | 黄色一二三区_福利视频一区二区_免费成人高清视频_91久久精品国产亚洲a∨麻豆_亚洲第一极品精品无码久久_久久.com_在线国产毛片_一起操17c | 日韩久久一区二区_亚洲精品国产黑色丝袜_日韩精品一区二区久久_亚洲精品激情_免费无码AV污污污在线观看_日本在线A一区视频高清视频_伊人色爱_国产成人99av超碰超爽 | 国产精品人成视频免费播放_亚洲欧美一区二区三区_精品中国亚洲_强奷人妻日本中文字幕_免费国产一级_亚洲а∨天堂久久精品喷水_热re91久久精品国99热蜜臀_亚洲成人精品网 | 一区二区中文字幕_狠狠色丁香婷婷_国产成人AV片免费_中文字幕日韩精品在线观看_精品人妻无码一区二区三区视频_免费的黄色一级片_中文字幕二区三区_亚洲欧美国内爽妇网 | av天天在线_少妇三级全黄在线播放_无码免费人妻A片AAA毛片_91色噜噜狠狠狠狠色综合_999精品_边吃奶边做爰高潮免费视频_国产精品6666_国产精品久久久久久久久快鸭 | 欧美怡春院一区二区三区_熟妇女的欲乱在线观看_丝袜足控一区二区三区_四虎国产精品永久地址99_人人射人人爱_欧美一级毛片日韩一级_激情综合在线观看_国产日产欧产精品精品推 | freemoms熟乱tube_精品精品国产高清A毛片牛牛_国产女主播高潮在线播放_国产乱伦视频_亚洲一区二区日韩_动漫AV纯肉无码AV在线播放_奇米第四色7777_欧美性猛交xxxx黑人 | 亚洲小说少妇区图片_亚洲国产欧美在线人成_日本欧美v大码在线_国产精品精品自在线拍_国产亚洲一本大道中文不卡_在线观看黄动漫_亚洲国产精品一二三_国产精品免费看视频 | 国产精品亚洲аv久久_日本色多多_成人国产一区二区_久久久国产亚洲_久久精品国产亚洲AV果冻传媒_精品深夜福利视频_亚洲男男无套GV大学生_日韩精品2区 | 人妻丰满熟妇av无码区hd_欧美另类一二三四_国产激情二区_欧美日韩一区二区在线播放_被公侵犯人妻一区二区三区_AB无码精品一区二区三区人妖_亚洲国产精品成人AV在线_97久久人人超碰国产精品 | 日本黄色录像一级片_国产美女不卡自在线拍_青青草在线视频网站_久久久久久a_亚洲第一综合最大av_巨尻av在线_毛片链接_久久国产精品麻豆 | 精品国产一区二区三区四区五区_午夜激情三级_在线免费看污_亚洲黄色av片_色777狠狠狠综合_成人一区二区三区视频在线观看_欧美精品性生活_久久精品12 | 久久AV喷潮久久AV高清_99久久精品国_亚洲aⅴ综合av国产八av_麻豆精品无码国产在线果冻_丝袜高潮流白浆潮喷在线播放_亚洲欧洲国产综合AⅤ无码_131美女MM爱做爽爽爽视频_国产视色 | 国产a级片免费_亚洲国产成人高清在线观看_ww国产内射精品后入国产_天天爽夜夜爱_亚洲三区在线观看_国偷自产av一区二区三区麻豆_国产精品日韩久久久_日韩中字在线观看 | 国产精品一区免费在线_欧美一级黄色毛片_一个人看的www高清免费视频_污污污污污污污网站污_正在播放亚洲一区_黄色一级生活片_日韩在线免费不卡_欧美福利在线 | 久草在线免费福利资源站_欧美黄色特级视频_久久er99热精品一区二区三区_日韩精品视频国产_日韩国产成人无码AV毛片蜜柚_国产精品v欧美精品v日韩精品_久久综合九色综合97婷婷_亚洲一级片大全 | 亚洲中文在线精品国产_日本成人一级片_免费毛片一区二区三区久久久毛片_白浆在线播放_国产精品久久久久久久久网站导航_japan白嫩丰满少妇videoshd_亚洲成人h_bnb998成人免费 | 性色欲情侣网站WWW_免费a级毛片无码∨_高清免费在线视频_日本三级在线看一区二区_天下第一社区视频WWW国语_黄色免费大全_欧美三日本三级少妇三99大粗_久久厕所偷拍视频 | 国产成人无码av一区二区在线观看_91久久爽久久爽爽久久片_天天天天天干_97超超碰_精品无码久久久久国产_欧美不卡中文字幕一区二区_国产伦精品一区二区三区妓女_日本高清免费视频 | 黄色片子免费观看_国产露脸150部国语对白_久久久久久久久久久国产精品_免费毛片手机在线播放_亚洲欧洲日韩在线_免费无码作爱视频_大地资源网中文在线观看免费节目_亚洲自偷自拍另类第1页 国产AV导航大全精品_日韩欧美综合在线_在线视频国产99_国产婷婷色一区二区三区在线_午夜免费啪视频观看视频_www.68pao.免费视频_久草伦理_精品久久久久久国产三级 | 少妇把腿扒开让我舔18_video日本老熟妇_亚洲欧美成人影院_亚洲av无码网站yw尤物_国产h视频在线观看播放_某机关少妇下班酒店在线播放_经典三级欧美在线播放_亚洲综合视频在线 | 精品国产不卡在线观看免费_国产精品亚洲综合天堂夜夜_日韩精品视频播放_福利小视频在线播放_亚洲一区亚洲二区亚洲三区_九九伊人八戒_亚洲中文久久精品无码1_国产色视频网站 | 国产人妻人伦精品熟女麻豆_国产91精品老熟女泻火_无码毛片一级片特黄_校园春色在线观看_久草网站_国产av一区二区三区最新精品_一级毛片日韩_村上丽奈av作品 | av2018天堂网_黄漫网站在线观看_国产高清一_青青草娱乐视频_aaaa大片_最新日韩精品视频_91视频黄色_一区二区三区三州 | 精品久久久久久亚洲综合网_久爱视频精品_亚洲夜色_成+人+网+站+免费观看_亚洲av成人永久无在线观看_性色一区_又湿又紧又大又爽A视频国产_日本SM极度另类视频 | 日本色片视频_精品久久久久久久久久久久久久久_久久99久久99精品免视看婷婷_日本一区二三区_夜夜爽亚洲人成8888_国产av久久久久精东av_夜夜av_精品国自产在线观看 | 免费A级毛片无码鲁大师_又爽又黄axxx片免费观看_热久热久_欧美videosdesexo肥婆_亚洲a在线观看_av毛片免费观看_爆乳熟妇一区二区三区_日美韩一区二区三区 | 人人妻人人妻人人妻碰碰_国产精品免费一级在线观看_亚洲色无码中文字幕YY51999_亚洲综合二_狠狠躁夜夜躁人人爽天天不卡_亚洲综合日韩中文字幕_国产精品福利啪在线观看_伊人久综合 | 成人免费视频中文字幕_亚洲区在线播放_亚洲aⅴ精品_av成人免费看_欧美日韩国产精品_玩弄丰满奶水的女邻居_老司机精品在线_91视频网址入口 | 中文字幕欧美成人免费_日韩美女乱淫作爱欣赏_国产伦久视频免费观看视频_西西人体大胆午夜啪啪_八戒八戒神马影院在线4_欧美一级网_亚洲欧美一区二区三区在线_欧美一级免费黄色片 | 国产精品国产三级国产有见不卡_国产在线激情视频_免费精品国产人妻国语三上悠亚_中文字幕人妻熟女人妻A片_日本无码一区二区三区在线_黄色片视频国产_精品久久人人做人人爱_欧美性大战xxxxx久久久 |