美文网首页
高级映射

高级映射

作者: tingshuo123 | 来源:发表于2018-07-15 19:01 被阅读17次

    表结构

    user表:


    t_user

    查询多条记录

    mapper 内容

        <select id="findAllUser" resultMap="userListResultMap">
            SELECT * FROM t_user;
        </select>
        <resultMap type="UserBean" id="userListResultMap">
            <id property="id" column="u_id"></id>
            <result property="name" column="u_name" />
            <result property="dept" column="u_dept" />
            <result property="website" column="u_website" />
            <result property="phone" column="u_phone" />
        </resultMap>
    
    

    IUserDao 接口

    package com.project.dao;
    
    import java.util.List;
    
    import com.project.bean.UserBean;
    
    public interface IUserDao {
    
        // 获取用户列表
        public List<UserBean> findAllUser();
    }
    
    

    IUserDao的实现类UserDaoImpl

    package com.project.dao.impl;
    
    import java.util.List;
    
    import org.apache.ibatis.session.SqlSession;
    
    import com.project.bean.UserBean;
    import com.project.dao.IUserDao;
    import com.project.util.MybatisUtil;
    
    public class UserDaoImpl implements IUserDao {
        @Override
        public List<UserBean> findAllUser() {
            // 获取session
            SqlSession session = MybatisUtil.getsession(true);
            IUserDao dao = session.getMapper(IUserDao.class);
            // 用集合就收,其余跟查询单条结果一致
            List<UserBean> userlist= null;
            try {
                userlist = dao.findAllUser();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                session.close();
            }
            return userlist;
        }
    }
    

    小结:查询多条记录跟查询单条记录只有一些细微差别,唯一的区别就是,查询多条结果的要用一个泛型为实体Bean的List集合就是接收就行了。另外要提的一点,如果是用Sqlsession执行那么单条记录用selectOne()方法,会有多条记录就要使用selectList()方法

    一对一关系

    未完待续。。。

    相关文章

      网友评论

          本文标题:高级映射

          本文链接:https://www.haomeiwen.com/subject/mwoppftx.html