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

    订单表对人员表就是多对一。

    在Orders.java类中加一行private Person person; 并生成setter getter。

    在OrdersMapper.xml中写sql:

    首先不要忘了在sqlMapConfig.xml中加入这一行:<mapper resource="xxx/x/mapper/OrdersMapper.xml" />

        <!-- 多对一查询
            association:多对一的时候用
            property:多对一中“一”的那个属性名
            javaType:property中那个变量的数据类型
        -->
        <resultMap type="xxx.x.Orders" id="selectPersonByOrderIdRM" extends="BaseResultMap">
            <association property="person" javaType="xxx.x.model.person">
                <id column = "person_id" property = "personId" />
                <result column = "name" property = "name" />
                <result column = "gender" property = "gender" />
                <result column = "person_addr" property = "personAddr" />
                <result column = "birthday" property = "birthday" />
            </association>
        </resultMap>
        
        <select id="selectPersonByOrderId" parameterType="int" resultMap="selectPersonByOrderIdRM">
            select * from orders o, person p where o.PERSON_ID = p.PERSON_ID and o.ORDER_ID = #{orderId}
        </select>
        SqlSessionFactory sessionFactory;
        public void setUp() throws Exception {
            InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
            sessionFactory = new SqlSessionFactoryBuilder().build(in);
        }
        public void selectPersonByOrderId() {
            // 创建SqlSession
            SqlSession session = sessionFactory.openSession();
            try {
                Orders order = session.selectOne("xxx.x.mapper.OrdersMapper.selectPersonByOrderId", 1);
                System.out.println(order);
            } catch (Exception e) {
                e.printStackTrace();
                session.rollback();
            } finally {
                session.close();
            }
        }
  • 相关阅读:
    从零搭建hadoop集群之安装虚拟机
    数据库中的左连接和右连接的区别
    cookie 和session的区别是
    jquery获取单选按钮选中的值
    css设置背景图(背景图太大导致图片显示不全)
    vue购物车
    model修改器获取器的使用
    model时间戳自动添加
    定义路由
    模型使用:M模型 V视图 C控制
  • 原文地址:https://www.cnblogs.com/lonske/p/9019481.html
Copyright © 2011-2022 走看看