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.在相应的Mapper xml文件添加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();
		}
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值