MyBatis使用接口连接数据库
之前学习了如何传统的使用MyBatis连接数据库,今天学习如何使用更方便快捷的方式练级数据库。使用接口连接数据库
https://www.cnblogs.com/liziweiblog/p/11080470.html
1. 创建EmployeeMapper接口,定义sql方法
1 package com.atguigu.mybatis.dao; 2 3 import com.atguigu.mybatis.bean.Employee; 4 5 /** 6 * Employee数据库操作接口 7 * @author Administrator 8 *接口可以与配置文件动态绑定 9 *namespace指定为接口的全类名,唯一标识指定为sql对应的方法名,返回值类型就是方法的返回值类型的全类名 10 */ 11 public interface EmployeeMapper { 12 13 public Employee getEmployeeById(Integer id); 14 15 }
2. 将sql映射配置文件与接口绑定
1. 将namespace配置为EmployeeMapper接口的全路径
2. 将唯一标识id配置为方法名称
3.将返回类型resultType设置为方法的返回值类型全路径
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 <mapper namespace="com.atguigu.mybatis.dao.EmployeeMapper"> 6 <!-- 7 namespace:名称空间 8 id:唯一标识 #{id}表示从参数出取出id 9 resultType:返回值类型 10 --> 11 <select id="getEmployeeById" resultType="com.atguigu.mybatis.bean.Employee"> 12 select * from tbl_employee where id = #{id} 13 </select> 14 </mapper>
3. 编写测试用例,连接数据库
1. 通过配置文件获取sqlSessionFactory对象
2.通过sqlSessionFactory对象获取sqlSession对象
3. 通过sqlSession对象获取接口的实现类对象employeeMapper
4.调用employeeMapper对象的方法执行sql
5.关闭sqlSession对象
1 @Test 2 public void test01() throws IOException { 3 //1. 获取sqlSessionFactory对象 4 String resource = "mybatis-config.xml"; 5 InputStream inputStream = Resources.getResourceAsStream(resource); 6 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 7 8 9 SqlSession sqlSession = null; 10 try { 11 //2得到sqlSession对象 12 sqlSession = sqlSessionFactory.openSession(); 13 //通过EmployeeMapper接口获取mapper对象 14 EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class); 15 //调用EmployeeMapper中的方法查询 16 Employee employee = mapper.getEmployeeById(1); 17 System.out.println(employee); 18 }finally { 19 //关闭sqlSession对象 20 sqlSession.close(); 21 } 22 }
结果:
没有报错,查询成功
Employee [id=1, last_Name=tom, email=tom@atgui, gender=0]