mybatis 最簡單的執行自定義SQL語句
阿新 • • 發佈:2019-01-30
最近有個同事要包裝一個可以執行sql語句的功能用的是mybatis
最開始他想到的方案是拿到資料庫連線再執行sql語句。
後來出了某些錯誤來問我,為了尋求比較快的解決方法於是我就試試了下下面的方法。
首先在Mapper新增
<select id="select" resultMap="map" parameterType="java.lang.String" >
${_parameter}
</select>
parameterType為String的話 引數名就必須寫_parameter
resultMap 返回型別是map型
這裡的原理就是通過傳入字串來執行sql,當然了上面這個只能執行select 如果要執行插入刪除更新就另外寫個
大家可以封裝個函式來判斷是新增修改刪除來執行對應的Mapper
然後在對應的dao介面新增
List<map> select(String sql);
最後就可以得到自定義sql語句查詢的結果了。
@Resource
private MyMapper myMapper;
....
List<map> result =myMapper.select("select * from user");
OK最後就可以用其他工具類將map轉成你的物件或者轉成JsonString 再轉成物件陣列。