1. DAOにクエリメソッドを追加します。サンプルコード:
/**
* UserDAO继承基类
*/
public interface UserDAO extends MyBatisBaseDao<User, Integer> {
// 1.查询全部数据(单表)
public List<User> selectAll();
// 2.连表查询(单条数据)
public UserVo selectUserById(@Param("userid") int userid);
// 3.连表查询
public List<UserVo> selectUserAll();
// 4.分页查询
public List<UserVo> selectUserPage(@Param("startIndex") int startIndex,
@Param("pageSize") int pageSize);
}
2.対応するMapperxmlファイルのサンプルコードにSQLクエリステートメントを追加します。
<resultMap id="BaseResultMap" type="com.gx.po.User">
<id column="userid" jdbcType="INTEGER" property="userid" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="password" jdbcType="VARCHAR" property="password" />
<result column="userage" jdbcType="INTEGER" property="userage" />
<result column="sex" jdbcType="BIT" property="sex" />
<result column="createtime" jdbcType="DATE" property="createtime" />
<result column="detime" jdbcType="TIMESTAMP" property="detime" />
<result column="powerid" jdbcType="INTEGER" property="powerid" />
</resultMap>
<!-- 自定义UserDao的resultMap(把需要查询的字段添加到UserVo中) -->
<resultMap type="com.gx.vo.UserVo" id="UserVoResultMap" extends="BaseResultMap">
<result column="powername" jdbcType="VARCHAR" property="powername" />
<result column="numid" jdbcType="INTEGER" property="numid" />
</resultMap>
3.テストメソッドを記述し、対応するクエリメソッド、サンプルコードを呼び出します。
public class TestDemo {
SqlSessionFactory sessionFactory=null;
/**
* @Before 在其他测试执行前执行该方法,获取SqlSessionFactory
*/
@Before
public void createSqlSessionFactory(){
sessionFactory=MyBatisUtil.getSqlSessionFactory();
}
//查询全部数据(单表)
@Test
public void selectAll(){
//获取sqlsession
SqlSession sqlSession=sessionFactory.openSession();
try {
//获取dao/mapper
UserDAO userDao=sqlSession.getMapper(UserDAO.class);
List<User> user=userDao.selectAll();
for (User users : user) {
System.out.println(users.getUsername()+";"+users.getPassword());
}
}finally{
//关闭sqlSession
sqlSession.close();
}
}
//连表查询(单条数据)
@Test
public void selectUserById(){
//获取sqlsession
SqlSession sqlSession=sessionFactory.openSession();
try {
//获取dao/mapper
UserDAO userDao=sqlSession.getMapper(UserDAO.class);
UserVo user=userDao.selectUserById(6);
System.out.println(user.getUsername()+";"+user.getPowername());
}finally{
//关闭sqlSession
sqlSession.close();
}
}
//连表查询
@Test
public void selectUserAll(){
//获取sqlsession
SqlSession sqlSession=sessionFactory.openSession();
try {
//获取dao/mapper
UserDAO userDao=sqlSession.getMapper(UserDAO.class);
List<UserVo> user=userDao.selectUserAll();
for (UserVo userVo : user) {
System.out.println(userVo.getUsername()+";"+userVo.getPowername());
}
}finally{
//关闭sqlSession
sqlSession.close();
}
}
//分页查询
@Test
public void selectUserPage(){
//获取sqlsession
SqlSession sqlSession=sessionFactory.openSession();
try {
//获取dao/mapper
UserDAO userDao=sqlSession.getMapper(UserDAO.class);
List<UserVo> user=userDao.selectUserPage(0,5);
for (UserVo userVo : user) {
System.out.println(userVo.getUsername()+";"+userVo.getPowername());
}
}finally{
//关闭sqlSession
sqlSession.close();
}
}
}