您当前的位置: 首页 >  mybatis

mybatis多对多的问题汇总

发布时间:2020-01-29 10:43:46 ,浏览量:0

1.只显示地址,不显示内容:

结果显示

@Test
    public void searchUserRole(){
            Listlist=userDao.searchUserRole();
            for(User u:list){
                System.out.println(u);
                System.out.println("\t\t"+u.getRoles());
            }
    }

 查看代码发现没有问题,难道是实体类的原因?

后来发现实体类少了重写ToString()方法:

@Override
    public String toString() {
        return "Role{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                ", users=" + users +
                '}';
    }

但是还是有问题,如下,名字重复:

原因在于user表和role表有字段名重复:


		

 原来的sql语句:

SELECT u.*,r.*
FROM user u left JOIN user_role ur on u.id=ur.uid
left JOIN role r on ur.rid=r.id

使用别名之后:

SELECT u.*,r.id rid,r.name rname,r.desc
        FROM user u left JOIN user_role ur on u.id=ur.uid
        left JOIN role r on ur.rid=r.id

 

再看执行效果:

最终结果正常!

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    115352博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0696s