6.1 MyBatis进行CURD:
方式1: 基于映射文件+SqlSession
特点: 依赖SqlSession对象方法,实现CURD.比如selectList(),selectOne(),insert()....
方式2: 基于映射文件+Mapper接口
特点: 在Mapper接口中定义关于CURD操作的接口方法,然后由MyBatis通过JDK动态代理生成接口的实现类.
因此,在使用时,直接通过Mapper接口对象,调用相关方法即可实现CURD.
使用实例:
//创建操作数据库的SqlSession对象
SqlSession ss = MyBatisUtils.getSqlSession();
//ss.getMapper(UserMapper接口class类型的实例) 获得到UserMapper的对象
//因为接口无法声明实例出对象,所以只能使用SqlSession对象.getMapper()方法获取对象
UserMapper um = ss.getMapper(UserMapper.class);
//um.对象名();进行操作
List<User> uList = um.listUser2();
MyBatisUtils.closeSqlSession();
备注:
Mapper接口方式底层依然是基于SqlSession.
6.2 Mapper接口定义要求:
- Mapper接口的类全名必须与映射文件的namespace值相同.
- Mapper接口的方法名必须与映射文件中业务标签的id值相同.
- Mapper接口的方法的参数类型必须与映射文件中业务标签的parameterType相同
- Mapper接口的方法的返回值类型必须与映射文件中业务标签的resultType相同.
简化: Mapper接口与映射文件的内容一一对应.
使用步骤:
Mapper接口.业务方法名([参值...]); //业务方法名与映射文件中的业务标签的id值相同.