日本高清免费一本视频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外包服務
二維碼 關閉
主站蜘蛛池模板: 天堂中文字幕在线_欧美最猛性xxxxx(亚洲精品)_99不卡视频_性欧美丰满熟妇XXXX性_国产乱码卡二卡三卡4_欧美性一级_国产精品一区二区无线_国产美女爆乳呻吟视频 | av网站免费在线观看_中文字幕色av一区二区三区不卡_国产精品午睡沙发系列_免费人成在线观看视频播放_亚洲女孩中文字幕免费视频_大地资源免费高清观看_曰曰夜夜的爱_国产av激情无码久久 | 色欲AV蜜桃一区二区三_日韩激情中文字幕_亚洲一区二区三区免费看_日韩深夜视频_国产精品久国产精品_久久福利视频一区_日本高清WWW午色夜在线视频_人与性动交AAAABBBB视频 | 女人与拘性猛交视频_精品露脸国产偷人在视频_国产精品久久久久久久久久久久冷_日本熟老少妇xxxxx_亚洲午夜理论片在线观看_丁香五月缴情在线_中文字幕天使萌在线va_曰本a级片 国产在线观看免费嗯呐_办公室高h荡肉呻吟在线观看_国产区精品_色aⅴ色av色av偷拍_亚洲精品在线视频观看_婷婷视频导航_国产一级大片_hdsex麻豆 | 精品国产一区二区三区在线_国产第一精品_日韩手机视频_亚洲一本视频_免费国产一级淫片_日本网站视频_欧美精品成人_国产亚洲精品久久午夜玫瑰园 | 真实国产乱人伦在线视频播放_国产一区二区免费网站_青娱乐这里只有精品_亚洲国产天堂一区二区三区_久久第三页_精品熟人妻一区二区三区四区不卡_日本a片大尺度高潮无码_午夜视频在线观看一区 | 国产乱码久久久久_亚洲欧洲日韩国内高清_久99久在线观看_97中文字幕第二十二页_熟女熟妇人妻在线视频_成年女人色毛片_一区二区三区片_国产成人A亚洲精V品无码 | 在线超碰在线_美国aa毛片_AV无码人妻无码男人的天堂_麻豆一二区_精品亚洲aⅴ乱码一区二区三区_久久亚州_色免费在线视频_在线中文字幕日韩 | 国产综合图_精品99免费_日日操夜夜操免费视频_国产精品激情欧美可乐视频_热99精品里视频精品_99国产精品久久久久久久..._国产无套抽出白浆来_高清成人免费视频 | 国产精品久久免费_日韩av免费一区二区_a人片在线观看苍苍影院_亚洲日本无码AA在线播放_一区二区亚洲_久久久精品视频免费看_看毛片网_伊人久久久AV老熟妇色 | 成人看片在线_深夜福利备好纸巾18禁止_国产一区福利_九一精品视频_久久久国产精品无码免费专区_国产欧美在线观看精品一区二区_国产性色AV免费观看_中文字幕一区二区三区四 | 欧美国产精品一区二区_日韩综合精品视频_欧美老熟妇XOXOXOXO_在线播放一区二区三区_一精品久久久_亚洲精品久久久一区二区三区_夜夜操com_wwwxx欧美 特黄A片女人亚洲一区小说_尻逼久久_美国豪放女大兵在线观看_精品国产91久久久_成人免费在线视频观看_国产精品美女久久久久av爽金牛_亚洲成人tv_久久久久久中文字幕 | japanese日本护士xxxx18一19_日本三级视频网站_内射人妻少妇无码一本一道_runaway韩国动漫免费_亚洲久草av_糙汉猛H1v1她想被C_丁香五月激情综合亚洲_www亚洲精品少妇裸乳一区二区 | 中文字幕在线观看一区二区_日本极品少妇videossexhd_欧美中文一区_亚洲成人www_国产精品一级无遮挡毛片_香蕉av久久一区二区三区_VideOS性饥渴_国产精品萝li | 色综合天天综合网国产成人网_天天躁夜夜躁狠狠久久成人网_少妇挑战3个黑人惨叫4P国语_久久无码av三级_手机看片日韩欧美_又色又湿又黄又爽又免费视频_亚洲精品国偷自产在线_妺妺窝人体色WWW看人体 | 小明成人永久免费视频在线观看_中文在线国产_一区二区三区AV高清免费波多_亚洲一级毛片在线_成人av毛片_亚洲伦理在线_野花社区观看在线www官网_国产亚洲AV无码专区A∨麻豆 | 久久成人精品一区二区三区_中文字幕V亚洲日本在线_精品无码久久久久久久动漫_成年午夜无码AV片在线观看_91色精品_一个人看的视频www免费_国产肉丝袜在线观看_中文字幕av播放 | 成年人黄色一级片_99精品国产在热久久_蜜桃在线播放_国产台湾无码av片在线观看_日本aaa大片_国产成人久久AV一区二区_国产成人精品一区二区视频免费_国产69精品久久久久99尤 | 国产精品美女久久久久人_国内精品久久久久久久久久久_91久久免费_久久av免费看_丰满熟妇乱又伦精品_亚洲熟女久久色_日本成熟老妇乱_女女女n女女女n女hd | 中文字幕制服丝袜一区二区_午夜香港三级A三级三点_夜夜躁狠狠躁日日躁欧美_91九色丨porny最新地址_黄色片网站免费看_最新Av中文字幕无码专区_久久伊人一区_在线小视频你懂的 | 无码中文字幕AV免费放软件_国产后式a一视频_色中文字幕在线_一区二区三区视频在线观看_亚洲影院久久_中文字幕在线观看2021_国产成人青草视频_亚洲精品永久中文字幕 | 国产欧洲精品色在线_自拍偷自拍亚洲精品一区_国产区一区二区三区_亚洲区一区二区三_国产浓毛大BBWBBW_五月婷婷一区二区三区_ririai66在线视频观看_欧美成人基地 | 一级片在线免费_偷偷做久久久久网站_精品国产髙清在线看国产毛片_yjizz视频_av网站一区二区三区_国产精品国精无码A片AV_麻豆伦理视频_亚洲宅男一区 | 成AV人片在线观看天堂无码_欧美午夜精品一区二区三区_黑人巨大欧美一区二区视频_日韩精品无码一区二区三区四区_久久视频在线观看精品_久荜中文字幕_人妻无码13p_午夜男女无遮掩免费视频 | 少妇把腿扒开让我舔18_video日本老熟妇_亚洲欧美成人影院_亚洲av无码网站yw尤物_国产h视频在线观看播放_某机关少妇下班酒店在线播放_经典三级欧美在线播放_亚洲综合视频在线 | 久久婷婷综合缴情亚洲狠狠_久久伦理_欧美日韩视频免费在线观看_欧美国产日韩成人_神天至尊动漫免费观看高清_最近中文字幕在线免费视频_久久久999精品_一级大片免费看 | 精品久久久久久中文字幕一区二区_亚洲国产五月综合网_97影院午夜伦不卡_综合色在线_国产99视频精品免费视频76_久久官网_久久无吗视频_国产免费高清视频在线一区二区 | 色婷婷av一区二区三区之红樱桃_精品日韩亚洲AV无码一区破坏_美女扒开尿口给男人看_性生大片免费观看高清视频_久久久久久久久久99精品_91成人国产精品_东京热一本无码av_久久网伊人 | 浪潮av色综合久久天堂_澳门久久精品_免费观看国产成人_老子影院午夜_伦理三区_久久久7_久久国产精品一区二区_久久泄欲网久久精品性色 | 美女网站免费福利视频_内射无码专区久久亚洲_五月色丁香综缴合_第四色狠狠_久久久久久一级毛片_99精品国产一区二区三区A片_男女上下猛烈啪啪免费看_www.色网 | 国产乱子伦精品免费女_AV人摸人人人澡人人超碰妓女_亚洲高清中文字幕免费_我爱我爱色成人网_亚洲一区不卡在线_夜夜未满十八勿进的爽爽影院_J97久久国产亚洲精品超碰热_日本高清久久久 | 超碰在线久_中文字幕けのぁ一般男女_91福利在线观看_7777日本精品一区二区三区_四虎永久地址www成人_在线天堂中文在线资源网_成人午夜天堂_旧里番高h无码无修在线观看 国产乱子伦精品免费女_AV人摸人人人澡人人超碰妓女_亚洲高清中文字幕免费_我爱我爱色成人网_亚洲一区不卡在线_夜夜未满十八勿进的爽爽影院_J97久久国产亚洲精品超碰热_日本高清久久久 | 999久久久国产999久久久_亚洲女人天堂成人av在线_这里只有精品视频在线_岛国黄色大片_h视频在线播放_免费无码无遮挡裸体视频在线观看_男人女人真曰批视频播放全过程_一级做a视频 | 久久精品aⅴ无码中文字字幕重口_特级黄色网_国产在线一二区_免费黄色一区二区_性欧美18~19sex高清播放_久久精品一区_精品国产乱码久久久软件使用方法_国产h片在线观看 | 免费在线全程观看_视频一区二区国产无限在线观看_国产原厂视频在线观看_MM1313亚洲精品无码久久_91人妻人人澡人人爽人人精品_亚洲熟妇色XXXXⅩ欧美_国产视频一区二区三区在线_日本艳妓BBW高潮一19 | 国产视频2区_传媒大片免费在线观看网站_久久久不卡_91av在线免费看_亚洲av永久无码精品网站mmd_黑色正能量最新入库_一本色综合久久_97色视频在线 | 久久久久亚洲AV无码专区首JN_91久久精品国产91久久_在线www免费观看视频_五月丁香好婷婷开心网_人妻中文字幕无码系列_使劲快高潮了国语对白在线_亚洲免费综合_9999在线 | 日韩一区精品_疯狂做受XXXX高潮视频免费_亚洲美女黄色_99精品产国品一二三产区_亚洲xxxxxxxxx_rct在线_欧美黑人精品一区二区不卡_久久久久国产精品 | 日韩视频在线第一页_欧美黑人欧美黑人双交_在线99_亚洲伊人成人_久久人人爽人人人人片_人妻人人澡人人添人人爽人人玩_久久香蕉99_天天看国91产在线精品福利桃色 | 一区二区中文字幕_狠狠色丁香婷婷_国产成人AV片免费_中文字幕日韩精品在线观看_精品人妻无码一区二区三区视频_免费的黄色一级片_中文字幕二区三区_亚洲欧美国内爽妇网 | 又黄又爽的成人免费视频_caopeng在线_国产精品自在线_亚洲精品美女久久久久久久久久_久久久久久国产精品免费_中国wwwxxxx_精品国产天堂_成年女人午夜毛片免费视频 |