国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Java框架MyBatis接口編程過程解析

瀏覽:81日期:2022-09-05 10:43:18

要求:

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 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
相關文章:
主站蜘蛛池模板: 资源县| 荃湾区| 建水县| 穆棱市| 巴南区| 康保县| 县级市| 绍兴市| 永年县| 荆门市| 凌云县| 金阳县| 曲阳县| 亳州市| 安图县| 岚皋县| 怀仁县| 蒙自县| 郓城县| 页游| 色达县| 宁陵县| 乡城县| 西丰县| 年辖:市辖区| 菏泽市| 肃北| 太湖县| 巴林左旗| 来宾市| 方正县| 丰台区| 亚东县| 海原县| 绍兴市| 交口县| 哈巴河县| 东丰县| 临西县| 永德县| 章丘市|