MyBatis多对一,一对多关联映射
来源:互联网 发布:外国人淘宝 编辑:程序博客网 时间:2024/04/28 17:03
PersonBean.java
private int pId;private String pName;private String pAddress;private String pTel;/** 订单 一对多**/private List<OrdersBean> orders;
OrderBean.java
private int oId;private String oNumber;private double oPrice;/** 用户 多对一 **/private PersonBean person;
PersonBean.xml
<mapper namespace="com.pyy.bean.PersonBean"><resultMap type="personBean" id="personMap"><id column="pid" property="pId" /><!-- column:数据库中的列名,property:类中的属性名 --><result column="pname" property="pName" /><result column="paddress" property="pAddress" /><result column="ptel" property="pTel" /><!-- 一对多 property指的是PersonBean中的属性 ofType:集合中的类型 --><collection property="orders" ofType="OrdersBean"><id column="oid" property="oId" /><result column="onumber" property="oNumber" /><result column="oprice" property="oPrice" /></collection></resultMap><!--parameterType:输入参数类型, resultMap 与前面定义的resultMap一致 --><select id="selectPersonById" parameterType="int" resultMap="personMap">select p.*,o.* from person p,orders o where p.pid=o.pid and p.pid=#{p}</select></mapper>
OrderBean.xml
<mapper namespace="com.pyy.bean.OrdersBean"><resultMap type="OrdersBean" id="ordersMap"><id column="oid" property="oId" /><result column="onumber" property="oNumber" /><result column="oprice" property="oPrice" /><!-- 多对一关联映射 --><!-- property:类中的属性名,javaType:属性名所对应的类型 --><association property="person" javaType="PersonBean"><id column="pid" property="pId" /><result column="pname" property="pName" /><result column="paddress" property="pAddress" /><result column="ptel" property="pTel" /></association></resultMap><select id="selectOrdersById" parameterType="int" resultMap="ordersMap">select p.*,o.* from person p,orders o where p.pid=o.pid and o.oid=#{o}</select></mapper>
测试类:
private SqlSession sqlSession;@Overrideprotected void setUp() throws Exception {String resource = "com/pyy/config/SqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);sqlSession = sqlSessionFactory.openSession();}@Testpublic void testSelectPersonById() {PersonBean person=sqlSession.selectOne("com.pyy.bean.PersonBean.selectPersonById",1);System.out.println(person.getOrders().size()); }@Testpublic void testSelectOrdersById() {OrdersBean orders=sqlSession.selectOne("com.pyy.bean.OrdersBean.selectOrdersById",1);System.out.println(orders.getPerson()); }
- MyBatis多对一,一对多关联映射
- MyBatis多对一,一对多关联映射
- MyBatis关联表映射(一对多、多对多、一对一、多对一)
- MyBatis 多对一关联和一对多关联
- Hibernate关联关系映射 一对一 一对多 多对一
- hibernate关联映射阐述一对多与多对一
- Hibernate关联关系映射(一对多/多对一)
- hibernate 关联映射 双向多对一(一对多)
- 【Hibernate】--关联关系映射:一对多和多对一
- Hibernate学习-7-关联映射(一对多,多对一)
- 【Hibernate框架】关联映射(一对多,多对一)
- hibernate4- 单向多对一、一对多的关联映射
- Hibernate一对多及多对一关联映射(三)
- 【Hibernate】多对一与一对多关联映射
- hibernate 关联映射 一对多 和 多对一
- JPA实体的映射之 一对多关联映射 和 多对一关联映射
- hibernate映射关系 一对多、多对一单向关联 一对多双向关联
- Hibernate映射详解(二)--多对一,一对多单向,一对多双向关联映射
- 重新定位id 验证提示框位置,避免超出了界面从而看不清楚
- java开源类库pinyin4j的使用
- Learning Ruby:Features of Ruby
- debug in Myeclipse ClassNotFoundException
- 二叉树系列问题1
- MyBatis多对一,一对多关联映射
- unity基础开发----Unity3D的uniSWF插件动态加载SWF UI资源
- Python抓取网页中的链接
- Perl文件类型判断
- 善用Android预定义样式
- 求职简历撰写要点
- log file sync和log file parallel write的关系
- thinkphp二级域名配置
- 【干货:华为的股权、研发、治理】