mybatis07Mapper封装
mybatis中提供了一种可以自动创建mapper对象,通过相关映射,实现封装效果
注意事项
mapper.xml
中的namespase的值要指向mapper接口的位置- mapper接口中的方法名要与statement的id一致,也就是select的id属性
- mapper接口中的方法名输入要与parameterType字段类型一致
- mapper接口中的方法名返回类型要与resultType字段类型一致
但当需要的返回类型是集合的时候,返回类型要相应变化,因为mybatis会根据mapper接口方法的返回值类型执行对应的方法:
返回类型 | 执行方法 |
---|---|
对象 | selectOne() |
集合 | selectList() |
实际操作
-
修改
user.xml
中的namesase
,使其指向mapper接口<!-- namespace: 命名空间 --> <mapper namespace="com.mapper.UserMapper">
-
为了区分,另写一个mapper接口,创建
UserMapper.java
package com.mapper; import java.util.List; import com.model.User; public interface UserMapper { public User selectUserByID(int id) throws Exception; public void deleteUser(int id) throws Exception; public void insertUser(User user) throws Exception; public void updateUser(User user) throws Exception; public List<User> selectUserByName(String name) throws Exception; }
-
编写测试方法
@Test public void testSelectUserByName() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); List<User> list = userMapper.selectUserByName("小亮"); System.out.println(list); }