MyBatis4-mapper代理开发规范&实现

思路:我们只需要写 mapper 接口(相当于 dao 接口),而不需要实现接口.在编写 mapper.xml 映射文件.

开发规范

注:mybatis 可以自动生成 mapper 接口的实现类代理对象.

第一步

在 mapper.xml 中 namespace 的值要为mapper 接口的包名+接口名.




第二步
public interface UserMapper {
    public String findById(int id);
}

mapper.java接口中的方法名要和 mapper.xml映射文件中的 id 值一样.


第三步
public interface UserMapper {
    public String findById(int id);
}

mapper.java接口中的方法参数要和 mapper.xml映射文件中的 parameterType 值一样.


第四步
public interface UserMapper {
    public String findById(int id);
}

mapper.java接口中的方法返回值类型要和 mapper.xml映射文件中的 resultType 值一样.


实现

//这几个步骤是必须的,因为必须要得到SqlSessionFactory
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();

//创建Mapper代理对象
UserMapper userMapper = session.getMapper(UserMapper.class);

//通过接口调用代理对象中的方法.
String userName = userMapper.findById(1);

System.out.println(userName);
session.close();

原理:其实代理对象内部调用 selectOne 或 selectList


补充知识

别名


    
    

package:写包路径,别名就为包下的类名.
typeAlias:包路径与类名,别名alias指定.
注:别名在使用的时候是不区分大小写的.

你可能感兴趣的:(MyBatis4-mapper代理开发规范&实现)