Mybatis学习笔记二:以接口方式编程

来源:互联网 发布:淘宝亲宝贝什么意思 编辑:程序博客网 时间:2024/05/17 23:20

在上一章中,已经完成了Mybatis环境的搭建以及简单的使用。在本章中,主要使用接口的方式来完成数据的访问。


1、创建接口


创建包com.dfz.mybatis.mapper,在此包下创建一个名为UserMapper的接口,定义如下:
package com.dfz.mybatis.mapper;import com.dfz.mybatis.model.User;/** * Created by zhangsiyuan on 2016/11/2. */public interface UserMapper {    public User selectUserByID(int id);}

其中,接口中的方法selectUserByID与我们在上一章定义的User.xml中的select id一致,不然无法找到该方法。同时接口名应与User.xml中的namespace保持一致,否则会找不到类。
测试代码修改如下:
private SqlSessionFactory sqlSessionFactory;                                            private Reader reader;                                                                                                                                                          @Before                                                                                 public void before() {                                                                      try {                                                                                       //读取mybatis参数                                                                           reader = Resources.getResourceAsReader("mybatis-config.xml");                           //建立session factory                                                                     sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);                   } catch (IOException e) {                                                                   e.printStackTrace();                                                                }                                                                                   }                                                                                                                                                                               @Test                                                                                   public void test() {                                                                        //打开session                                                                             SqlSession session = sqlSessionFactory.openSession();                                   //使用接口方式调用查找方法                                                                          User user = session.getMapper(UserMapper.class).selectUserByID(1);                      System.out.println(user);                                                               session.close();                                                                    }                                                                                                                                                                               
其余不用改动,运行之后结果如下:


2、总结


1)Mybatis只用声明dao接口,不需要编写dao的实现类;
2)接口与xml文件中的namespace需保持一致,不然会报BindingException,并提示接口未注册;
3)接口中的方法名需要与xml配置文件中的方法名保持一致,不然会提示方法未找到。
未尽之处后期再补,代码下载地址:https://github.com/EdwardEricZhang/MybatisFun

0 0
原创粉丝点击