重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
hql联合查询我没做过,我给你说下用sql语句的查询方式
创新互联主营临海网站建设的网络公司,主营网站建设方案,APP应用开发,临海h5小程序制作搭建,临海网站营销推广欢迎临海等地区企业咨询
前台把查询的参数统统传到action
action调用service,把参数传过来
service调用dao,参数传给 dao
在dao里面,用session.createSQLQuery("查询语句,查")
sql语句,给你个小示例:
select lvl1_Name,lvl2_Name ,lvl0_Name from 主表 left outer join 从表 on 主从表关联的等式
不管从多少表, left outer join 表名 on 两个表关联的等式 ....就可以查出来,
注意哦,有的表字段相同,记得要取别名哦
select 前台用户选择的列(别名.XX1,别名.XX2,别名.XX3...)
from 前台用户选择要查询的表(T1) 别名 [,T2,T3]
[
连接关系(内连,左连)(inner join, left join) 表(T2) on
连接条件(表1别名.列名=表2别名.列名)
]
where 1=1 and [查询条件(表1别名.列名=xxx,...)]
[order by 表1别名.列名]
PS:方括号的内容为可选
补充回答:
怎么会不知道用户选了什么列呢?比如图中选了证书号,证书类型,签证机构,它选中肯定会对应一个值的,把这个值设成列名不就可以直接拼接了吗
我们可以使用forEach()方法迭代列表的内容,并使用lambda表达式和静态方法引用来打印内容,即可在java多表查询用c:foreach迭代。
如果只是查询~在数据库建立个相关的视图 感觉比表连结要省事 也不容易出错~
这不是为了查询么
你要使用增删改 语句表连接也不能实现啊。。你也要按照增删改相关的表 对不。。。所以查询 还是建立视图省事。。。增删改 该怎么做还怎么做