MyBatis若何應用(二)。本站提示廣大學習愛好者:(MyBatis若何應用(二))文章只能為提供參考,不一定能成為您想要的結果。以下是MyBatis若何應用(二)正文
前邊論述了若何在java項目中應用mybatis,我們應用的是映照文件的方法,在取得詳細的數據操作辦法時須要傳入映照文件中namespace+“.”辦法稱號,這類方法有時刻會感到很不爽,很費事。我們在開辟中不是常說要面向接口釀成嗎,mybatis也支撐接口,上面在後面的例子的基本上做響應修正。
後面的例子的情況及映照文件均堅持不變,以下是我的映照文件,
<mapper namespace="com.cn.inter.IMessageOperation"> <select id="selectUserByID" parameterType="int" resultType="com.cn.imooc.entity.Message"> select * from `message` where id = #{id} </select> <select id="selectMessages" resultType="Message"> select id, command, description, comment from message; </select> </mapper>
我們可以看到裡邊有namespace為com.cn.inter.ImessageOperation,如今我們創立如許一個包,com.cn.inter,在此包中創立接口IMessageOperation,接口中有一個辦法,辦法的簽名為:public Message selectUserByID(Integer id);
我們創立的接口和映照文件做了分歧對應,包含了辦法名、前往值、參數列表。上面看測試辦法
package com.cn.test; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import com.cn.imooc.entity.Message; import com.cn.inter.IMessageOperation; public class MyTest2 { public static void main(String[] args) { // TODO Auto-generated method stub Reader reader; SqlSession sqlSession=null; try{ //從類途徑下(src)讀取mybatis設置裝備擺設文件 reader=Resources.getResourceAsReader("Configuration.xml"); SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader); sqlSession=sqlSessionFactory.openSession(); //取得IMessageOperation接口 IMessageOperation imo=sqlSession.getMapper(IMessageOperation.class); //挪用接口的辦法前往查詢成果 Message message=imo.selectMessageByIdI(new Integer(3)); System.out.println(message); } catch(Exception e){ e.printStackTrace(); }finally{ //假如sqlSession不為空,則封閉 if(null!=sqlSession) sqlSession.close(); } } }
我們可以看到測試辦法中挪用數據操作的辦法產生了變更,我們是先取得一個IMessageOperation的接口,然後挪用其selectMessageByID辦法,最初獲得成果。可以感到到比上一篇中的方法加倍簡略了,也更相符我們平常的編碼標准了。
綜合這兩篇內容中的方法,應用任何一種都是可以的,只是兩種分歧的方法罷了,我小我更偏向於後者。
以上所述是小編給年夜家引見的MyBatis若何應用(二)的相干材料,異常不錯,具有參考自創價值,願望對年夜家有所贊助!