public interface UserMapper {
public List<User> getAll();
}
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.cnyasin.mapper.UserMapper">
<resultMap id="userList" type="user">
<result property="createdAt" column="created_at"/>
</resultMap>
<select id="getAll" resultMap="userList">
select * from user
</select>
</mapper>
UserMapperImpl.java
public class UserMapperImpl implements UserMapper {
private SqlSessionTemplate sqlSession;
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
public List<User> getAll() {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
return userMapper.getAll();
}
}
UserMapperImpl2.java
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{
public List<User> getAll() {
return getSqlSession().getMapper(UserMapper.class).getAll();
}
}
User.java
@NoArgsConstructor
@AllArgsConstructor
@Data
public class User {
private int id;
private String username;
private String email;
private String password;
private long balance;
private long createdAt;
}
UserMapperTest.java
public class UserMapperTest {
@Test
public void getAllTest() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserMapper userMapper = context.getBean("userMapper", UserMapper.class);
System.out.println(userMapper.getAll());
}
@Test
public void getAllTest2() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserMapper userMapper = context.getBean("userMapper2", UserMapper.class);
System.out.println(userMapper.getAll());
}
}
注意:最终实例化bean的时候,约束类必须是接口而不是接口的实现类,否则报错:org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'userMapper' is expected to be of type......
文章评论
还没有评论,欢迎留下第一条回复。
登录 或 注册 后发表评论。