案例:查询所有用户信息和与用户相关的订单信息。
用户信息和订单信息是一对多的关系。
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