mybatis和jeesite多表查询的方法-亚博电竞手机版
mybatis和jeesite多表查询的方法
这篇文章主要介绍了mybatis和jeesite多表查询的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mybatis和jeesite多表查询的方法文章都会有所收获,下面我们一起来看看吧。
有时候经常碰到多级联查,比如通过某个功能a表查角色信息,但是a表和角色表没有直接的关联关系,需要通过用户表进行关联,所以就需要多级关联查询出来了(下面的只是举例,实际应用用户和角色不会这样设计字段)
一、mybatis xml文件手写resultmap和查询语句
1、mybatis配置文件:因为是通过column(数据库字段名称)和property(实体类对象名称)进行数据绑定的,如果存在相同字段的名字可以用as修改字段名称也能进行特殊绑定
二、使用jeesite中的@table注解
@table(name="test",alias="a",label="测试表",columns={@column(name="testid",attrname="testid",label="测试id",ispk=true),@column(name="userid",attrname="userid",label="用户id"),@column(includeentity=dataentity.class),},jointable={@jointable(type=jointable.type.left_join,entity=user.class,alias="c",on="c.user_id=a.user_id",attrname="user",columns={@column(name="user_name",attrname="username",label="用户名"),@column(name="role_id",attrname="roleid",label="角色id"),}),@jointable(type=jointable.type.left_join,entity=role.class,alias="d",on="d.role_id=c.role_id",attrname="role",columns={@column(name="role_name",attrname="rolename",label="角色名称"),}),},orderby="a.update_datedesc")publicclassutestextendsdataentity
省略get、set方法,在使用的时候直接调用jeesite的finlist、findpage等查询方法进行使用了数据结构就自己debug一下吧
补充:下面介绍下jeesite复杂查询语句实现
在一开始用jeesite进行开发的时候,偶尔会碰到许多问题,解决方式一般也有很多方法
一、多表查询的时候,怎么添加子表的条件进行查询?
举例:有一个文件信息表file,关联了用户表user,存储了一个user_id,需要根据用户姓名进行模糊查询
方法1:前端用beetl进行控件值绑定的时候path按 对象名.变量名 进行绑定,值得注意的是记得在user类的username字段的注解上加上查询条件为like:querytype=querytype.like
<#form:inputpath="user.username"class="form-controlwidth-120"/>
方法2:在后台代码中进行手动赋值,file实体类中增加username变量,在后台接收到username参数以后调用方法
file.getsqlmap().getwhere().and("c.user_name",querytype.like,"张");
关于“mybatis和jeesite多表查询的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“mybatis和jeesite多表查询的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道。