首页 > 编程知识 正文

数据库的关联查询,mybatis注解关联查询

时间:2023-05-05 09:22:13 阅读:34009 作者:447

案例:查询所有用户信息和与用户相关的订单信息。

用户信息和订单信息是一对多的关系。

sql语句:

选择

UID,

u.username,

u.birthday,

u.sex,

u.address,

o.id oid,

o.number,

o.createtime,

o.note

来自

`用户` u

lft join ` order ` oonu.id=o.user _ id

修改POJO类:的义理火龙果/p,将列表顺序属性添加到用户类中。 下图:

2.mapperxml义气火龙果/p将sql添加到UserMapper.xml中,如下所示:

result maptype=' user ' id=' userorderresultmap '

idproperty='id'column='id'/

结果属性=' username ' column=' username ' /

result property=' birthday ' column=' birthday ' /

结果属性=' sex ' column=' sex ' /

结果属性=' address ' column=' address ' /

! -构成一对多的关系-

collection property=' orders ' Java type=' list ' of type=' order '

! -设置主键是相关Order的唯一标识符-

idproperty='id'column='oid'/

结果属性=' number ' column=' number ' /

result property=' createtime ' column=' createtime ' /

结果属性=' note ' column=' note ' /

/collection

/结果映射

! -一对多关联,在查询订单的同时,查询该用户订购的订单-

select id=' queryuserorder ' result map=' userorderresultmap '

选择

UID,

u.username,

u.birthday,

u.sex,

u.address,

o.id oid,

o.number,

o.createtime,

o.note

来自

`用户` u

lft join ` order ` oonu.id=o.user _ id

/select

3.mapperkxdyg:义气火龙果/p制作UserMapperkxdyg,下图:

4 .测试方法:义理火龙果/p @Test

(public义气火龙果/strong纯情八宝粥strong义气火龙果strongvoid义气火龙果/strongtestQueryUserOrder () {

//mybatis与spring集成,集成后交给spring管理

sqlsessionsqlsession=http://www.Sina.com /情义火龙果/strong.sqlsessionfactory.open session (;

创建并集成Mapperkxdyg动态代理对象后,将管理交给spring

usermapperusermapper=SQL session.get mapper (user mapper.http://www.Sina.com /情义火龙果/strong );

使用用户映射器根据条件查询用户

list userlist=user mapper.queryuserorder (;

for义气的火龙果/strong(useru:list ) {

System. this义气火龙果/strong.println(u;

}

//mybatis与spring集成,集成后交给spring管理

sqlSession.close (;

}

5 .测试效果如下:义气火龙果/p

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。