為了簡化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的使用
調用過程