zoukankan      html  css  js  c++  java
  • Mybatis_一对一查询

    一对一是一种特殊的多对一。

    一般箭头所指的方向,是一,背对箭头的是多。

    由于身份证表的人员编号即使主键也是外键,所以这是一对一的关系。pk是主键,fk是外键。

    在Person.java类中添加一行 private IdCard ic; 并生成setter getter。

    xml在PersonMapper中写

        <!-- 一对一查询
            association:一对一和多对一的时候用
            property:多对一中“一”的那个属性名
            javaType:property中那个变量的数据类型
        -->    
        <resultMap type="xxx.x.Person" id="selectIdCardByPersonIdRM" extends="BaseResultMap">
            <association property="ic" javaType="xxx.x.model.IdCard">
                <id column = "person_id" property = "personId" />
                <result column = "card_no" property = "cardNo" />
            </association>
        </resultMap>
        <select id="selectIdCardByPersonId" parameterType="int" resultMap="selectIdCardByPersonIdRM">
            select * from person p, id_card ic where p.PERSON_ID = ic.PERSON_ID and p.PERSON_ID = #{personId}
        </select>
        SqlSessionFactory sessionFactory;
        public void setUp() throws Exception {
            InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
            sessionFactory = new SqlSessionFactoryBuilder().build(in);
        }
        public void selectIdCardByPersonId() {
            // 创建SqlSession
            SqlSession session = sessionFactory.openSession();
            try {
                Person person = session.selectOne("xxx.x.mapper.OrdersMapper.selectIdCardByPersonId", 1);
                System.out.println(person);
            } catch (Exception e) {
                e.printStackTrace();
                session.rollback();
            } finally {
                session.close();
            }
        }

    都和多对一一样

  • 相关阅读:
    PHP post方式请求webservice接口以及解析返回的数据
    XYTipsWindow弹出层
    php使用rtrim时,可能会出现乱码
    带搜索的下拉框
    js实现自动给省市县地区自动赋值
    php 获取指定日期段内每一天的日期
    sqlserver数据库的备份和还原
    js判断哪个单选框应该被选中
    extjs3.1 解决列锁定,合计行不能滑动的问题
    考研数据结构-二叉树
  • 原文地址:https://www.cnblogs.com/lonske/p/9019721.html
Copyright © 2011-2022 走看看