mybatis怎么实现根据id显示两个表的内容连接?

mybatis怎么实现根据id显示两个表的内容连接?,第1张

可以通过关系映射查询出来 请看下面\x0d\x0a\x0d\x0a在mybatis中,没有级联的概念,但是可以利用集合来实现类似的功能。\x0d\x0amybatis3.0添加了association和collection标签专门用于对多个相关实体类数据进行级联查询,但仍不支持多个相关实体类数据的级联保存和级联删除 *** 作。因此在进行实体类多对多映射表设计时,需要专门建立一个关联对象类对相关实体类的关联关系进行描述。\x0d\x0a\x0d\x0a插入关联表:\x0d\x0a\x0d\x0ainsert into wife (name,h_id) values (#{name},#{husband.hid})\x0d\x0a\x0d\x0a\x0d\x0a关联映射:嵌入式、继承式 引入式等\x0d\x0a先在数据库建立好主外键关系\x0d\x0a\x0d\x0a在xml里面写一个resultMap作为返回类型,如果是多对一 用association 一对多用collection \x0d\x0a例子\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a \x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a--ofType集合中的类型\x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0aselect w.*,h.* from wife w left join husband h on w.h_id=h.hid\x0d\x0a\x0d\x0a\x0d\x0a注意:\x0d\x0a1、关联查询一定要带有关联对象的id(主外键),否则集合只会有一条记录存在(认为你查询的是一个对象)\x0d\x0a如:\x0d\x0aselect h.name,h.age,w.wname from wife w left join husband h on h.hid=w.h_id\x0d\x0a\x0d\x0a2、表连接中不同表有同名字段的时候:a和b都有name字段\x0d\x0a\x0d\x0a \x0d\x0a\x0d\x0a \x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a \x0d\x0a \x0d\x0a\x0d\x0a select a.id aid,a.name aname,b.id,b.name from a,b where a.id=b.id \x0d\x0a

MybatiscustomerMapper.xml: select *from MYBATISORDER where ORDERID = #{orderid,jdbcType=DECIMAL} MybatisOrderItemMapper.xml: select *from MYBATISORDERITEMwhere ITEMID = #{itemid,jdbcType=DECIMAL} MybatiscustomerMapper.xml:因为不和别的表做关联,只有简单的id,result配置. select *from MYBATISCUSTOMER where ID = #{id,jdbcType=DECIMAL} MybatisOrderMapper的getOrderByID会先从MYBATISORDER取数据,然后根据CUSTOMERID调用MybatiscustomerMapper.getCustomerByID,然后根据ORDERID调用MybatisOrderItemMapper.selectItemsByOrderID,对应每一条MYBATISORDER数据,都会分别访问另外两个表各一次.

Hibernate我用的比较少,平时用的是Mybatis,说说Mybatis的做法吧。你的teacher表结构,id是主键,并且自增,是这样进行配置。

mybatis xml文件里,需要在insert前面加上

<selectKey resultType="java.lang.Long" order="AFTER"

keyProperty="id">

SELECT LAST_INSERT_ID()

</selectKey>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11519861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存