java之mybatis之查詢及分頁


1.mybatis中查詢方式有3種

//查詢單個值
    @Test
    public void testFindOne()throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        User user = (User)session.selectOne("cn.sxt.vo.UserMapper.findOne", 1);
        System.out.println(user);
        session.close();
    }
    //查詢list
    @Test
    public void testFindAll() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        List<User> list = session.selectList("cn.sxt.vo.UserMapper.findAll");
        for(User u:list){
            System.out.println(u);
        }
        session.close();
    }
    //查詢map
    @Test
    public void testFindMap()throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        //selectMap 傳遞的參是 map集合的key值。
        Map map=session.selectMap("cn.sxt.vo.UserMapper.findMap", "name");
        for(Iterator iter=map.keySet().iterator();iter.hasNext();){
            Object key=iter.next();
            System.out.println(key+"---"+map.get(key));
        }
        session.close();
    }

映射文件

<?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.sxt.vo.UserMapper">
    <!-- 查詢單個對象 -->
    <select id="findOne" resultType="User">
        select * from t_user where id=#{id}
    </select>
    <!-- 查詢list -->
    <select id="findAll" resultType="User">
        select * from t_user
    </select>
    <!-- 查詢map -->
    <select id="findMap" resultType="Map">
        select * from t_user where id=1
    </select>
    <!-- 
        begin=(currentPage-1)*pageSize
        size=pageSize
     -->
    <select id="page1" resultType="User">
        select * from t_user limit #{begin},#{size}
    </select>
    <select id="pageRow" resultType="User">
        select * from t_user
    </select>
</mapper>

2.分頁

mybatis中有3種方式實現分頁

映射文件

    <select id="page1" resultType="User">
        select * from t_user limit #{begin},#{size}
    </select>
    <select id="pageRow" resultType="User">
        select * from t_user
    </select>

代碼

//通過sql語句進行分頁,參數傳入的是對象
    @Test
    public void testPage() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        PageInfo pi = new PageInfo();
        pi.setBegin(3); pi.setSize(3);
        List<User> list = session.selectList("cn.sxt.vo.UserMapper.page1",pi);
        for(User u:list){
            System.out.println(u);
        }
    }
    //通過sql語句進行分頁,參數傳入的是map
    @Test
    public void testPage1() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        Map map = new HashMap(); map.put("begin", 0); map.put("size", 3);
        List<User> list = session.selectList("cn.sxt.vo.UserMapper.page1",map);
        for(User u:list){
            System.out.println(u);
        }
    }
    //通過RowBounds來實現分頁 
    @Test
    public void testPage2() throws IOException{
        SqlSession session = MybatisUtil.getSqlSession();
        //第一個 參數 相當於index,第二個參數 每頁顯示記錄數
        RowBounds bounds = new RowBounds(3, 3);
        List<User> list = session.selectList("cn.sxt.vo.UserMapper.pageRow",null,bounds);
        for(User u:list){
            System.out.println(u);
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM