鍍金池/ 問答/Java  數(shù)據(jù)庫/ Mybatis的寫法

Mybatis的寫法

第一種:在java里面寫。
@Select("select bureau_code from drt_opr_area")
List<String> getAllAreas();
第二種:在xml里面寫。
<select id="selectList" resultMap="BaseResultMap" parameterType="com.csg.intshop.entity.DrtShopConfig">

    select 
    <include refid="BaseColumnList" />
    from drt_shop_config
    where 1=1
    <include refid="BaseCustomQueryCondition" />
  </select>

想問問:在什么情況下寫java代碼好,在什么情況下選中寫xml好?如果是全表查詢,這兩種寫法在性能有沒有區(qū)別?
比如:當(dāng)表字段比較多的時候,全表查詢寫xml看起來比較簡潔,可讀性強。### 問題描述

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?

回答
編輯回答
逗婦乳

你好,一般來說正常的項目都是使用xml,維護起來方便,對于性能的話,應(yīng)該使用xml的形式或比注解sql后,因為官方也是推薦使用xml,且注解方式拼接動態(tài) sql 功能有限,對于項目而言,sql與java(項目主編程語言)應(yīng)該區(qū)分開來,不要混合在一起,且拼接sql易爆炸·····,xml是我比較支持與推薦的,對于后期維護還有升級版本而言,不過簡單輕松的項目也可以用sql來完成。

2018年9月20日 21:22
編輯回答
咕嚕嚕

您好,1、增加對象返回自增主鍵 在一個Mapper接口中,出現(xiàn)多個select查詢(>=3個),且每個查詢都需要寫相同的返回@Results內(nèi)容(這一部分內(nèi)容通常很多),這樣的話,為了使Mapper接口比較整潔,重復(fù)代碼比較少,我們會將這些select方法的具體實現(xiàn)寫在xml文件中,因為在xml文件的頂部我們就會配置與注解
2、就是通過注解動態(tài)拼接sql是不如xml來的方便

2018年8月18日 16:49
編輯回答
氕氘氚

還是分開好一點,xml比較好。
除非是Spring data jpa rest那種開發(fā)·

2018年6月16日 07:19