在初步认识 Mybatis 例子中,我们进行再度学习,改成使用接口式编程的方法
1.增加 EmployeeMapper 接口
package com.Mybatis.Dao;
import com.Mybatis.entity.Employee;
public interface EmployeeMapper {
public Employee getEmpById(Integer id);
}
2.在对应的 EmployeeMapping.xml 中更改相对于的代码
<?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">
<mapper namespace="com.Mybatis.Dao.EmployeeMapper">
<!--
namespace:名称空间 ,更改成相对应接口的路径
id:唯一标识符,改为EmployeeMapper中方法的方法名,使他们动态绑定
resultType:返回值类型
#{id}:从传递过来的参数取出id值
-->
<select id="getEmpById" resultType="com.Mybatis.entity.Employee">
select * from Mybatis_Employee where id = #{id}
</select>
</mapper>
3.测试类
package com.Mybatis.JUnit.test;
import static org.junit.Assert.*;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.*;
import org.junit.Test;
import com.Mybatis.Dao.EmployeeMapper;
import com.Mybatis.entity.Employee;
public class Mybatis_Test {
/*
* 1.根据XMl配置文件(全局配置文件) 创建一个SqlSessionFactory 对象
* 有数据源一些运行环境信息
* 2.Sql映射文件;配置了每一个Sql,以及Sql的封装规则
* 3.将Sql映射文件注册在全局配置文件中
* 4.写代码
* 1).根据全局配置文件得到SqlsessionFactory
* 2).使用SqlSession工程,获取到SqlSession对象使用它来执行增删改查
* 一个SqlSession就是代表和数据库的一次会话,用完关闭
* */
public SqlSessionFactory getSessionFactory() throws IOException{
String resource = "Mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void test1() throws IOException{
//1.获得SqlSessionFactory
SqlSessionFactory sessionFactory = getSessionFactory();
//2.获取SqlSession
SqlSession openSession = sessionFactory.openSession();
//3.获取接口实现类对象
try{
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Employee employee = mapper.getEmpById(1);
System.out.println(employee);
}finally{
openSession.close();
}
}
}
4.结果如下
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于