Mybatisデータクエリ

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();
		}
	}
}

おすすめ

転載: blog.csdn.net/weixin_44547592/article/details/110819336