使用Java怎么實現MyBatis接口編程?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
為屯溪等地區用戶提供了全套網頁設計制作服務,及屯溪網站建設行業解決方案。主營業務為成都網站設計、做網站、屯溪網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
要求:
1.配置文件的namespace名稱空間指定為接口的全類名
2.配置文件中的id唯一標識與接口中的方法對應(返回值類型對應,方法名對應,參數個數和類型對應)
接口代碼:
package com.bird.mybatis.dao; import com.bird.mybatis.bean.Employee; public interface EmployeeMapper { public Employee getEmpById(Integer id); }
對應配置文件代碼:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:名稱空間(若使用接口式編程,與EmployeeMapper接口全類名一致) id:唯一標識(與接口中的方法名對應) resultType:返回值類型(與對應方法的返回值對應) #{id}:從傳遞過來的參數中取出id值 --> <mapper namespace="com.bird.mybatis.dao.EmployeeMapper"> <select id="getEmpById" resultType="com.bird.mybatis.bean.Employee"> select id,last_name lastName,gender,email from tbl_employee where id = #{id} </select> </mapper>
測試代碼:
/** * MyBatis接口編程 * @throws IOException */ @Test void test2() throws IOException { //獲取sqlSessionFactory對象 SqlSessionFactory ssf = getSqlSessionFactory(); //獲取sqlSession對象 SqlSession openSession = ssf.openSession(); try { //獲取接口的實現類對象 EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class); Employee empById = mapper.getEmpById(1); System.out.println(empById); }finally { openSession.close(); } } /** * 獲取sqlSessionFactory對象 * @throws IOException */ public static SqlSessionFactory getSqlSessionFactory() throws IOException { String resource = "mybatis-config.xml"; InputStream is = Resources.getResourceAsStream(resource); return new SqlSessionFactoryBuilder().build(is); }
總結:
1.接口編程:
原生接口: Dao ===> DaoImpl
MyBatis: Dao ===> Mapper.xml
2. SqlSession代表與數據庫的一次會話,用完要關閉
3. SqlSession和Connection都是非線程安全的,所以每次都要獲取新的對象,而不能寫成成員變量
4.mapper接口沒有實現類,但是MyBatis生成代理對象
看完上述內容,你們掌握使用Java怎么實現MyBatis接口編程的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
網站欄目:使用Java怎么實現MyBatis接口編程
網站網址:http://vcdvsql.cn/article12/pcocgc.html
成都網站建設公司_創新互聯,為您提供電子商務、搜索引擎優化、商城網站、自適應網站、企業建站、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯