为了简化MyBatis的使用MyBatis的使用,MyBatis提供了接口方式自动化生成调用过程,可以大大简化MyBatis的开发

开发映射文件:

    <select id="queryOne" resultType="cn.tedu.mybatis.beans.User">
        select * from user where id = #{id}
    </select>
    <select id="queryAll" flushCache="true" resultType="Alias_User">
        <include refid="saUser"/>
    </select>

开发接口:

接口的名字和映射文件的名字相同,接口中方法的名字和要调用的映射文件中的标签的id相同,

方法的参数和被调用的标签中的sql中需要的参数对应

package cn.tedu.mybatis.beans;

import java.util.List;

public interface UserMapper {
    public User queryOne(int id);
    public List<User> queryAll();
}

开发测试类:

    // 根据配置文件创建sqlSessionFactory
    private SqlSessionFactory factory = null;
    @Before
    public void before() throws Exception{
        //1.读取MyBatis核心配置文件
        InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
        //2.根据配置文件创建sqlSessionFactory
        factory = new SqlSessionFactoryBuilder().build(in);
    }
    
    /**
     * 通过接口操作MyBatis
     */
    @Test
    public void test18(){
        //1.第一次事务
        SqlSession session = factory.openSession();
        //2.通过接口获取映射对象
        UserMapper usermapper = session.getMapper(UserMapper.class);
        //3.通过映射对象调用方法
        User user = usermapper.queryOne(1);
        List<User> list = usermapper.queryAll();
        //4.打印结果
        System.out.println(user);
        System.out.println(list);
    }

真正开发中,都是使用这种接口+配置文件方式,实现MyBatis的使用

调用过程

MyBatis 接口的使用_SpingMyBatis 接口的使用_Sping_02