这是我没有解决之前的:
然后解决好之后的样子:
然后没有解决之前的代码:
(这里我只是查询了部分字段,select 部分字段 from ;)
package com.web.system.dao.impl;
import com.web.base.dao.impl.BaseDaoImpl;
import com.web.system.dao.FunctionDao;
import com.web.system.entity.Function;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class FunctionDaoImpl extends BaseDaoImpl<Function, String> implements FunctionDao {
@Override
public List<Function> getFunc(Integer functype, String... id) {
String sql = "SELECT f.部分字段 FROM tb_system_function f INNER JOIN tb_system_role_function uf ON f.id=uf.FUNCID " +
"INNER JOIN tb_system_role r ON r.id=uf.roleid WHERE f.status=1 AND f.functype=:funcType AND r.id IN (:ids) ORDER BY f.sortnum";
Query query = getSession().createSQLQuery(sql);
query.setParameter("funcType", functype);
query.setParameterList("ids", id);
return query.list();
}
}
解决之后的代码:
(然后我这边查询的就是全部字段 ,select * from ;;;然后在getSession().createSQLQuery(sql)后面接着.addEntity(Function.class),实体类.class)
package com.web.system.dao.impl;
import com.web.base.dao.impl.BaseDaoImpl;
import com.web.system.dao.FunctionDao;
import com.web.system.entity.Function;
import org.hibernate.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class FunctionDaoImpl extends BaseDaoImpl<Function, String> implements FunctionDao {
@Override
public List<Function> getFunc(Integer functype, String... id) {
String sql = "SELECT f.* FROM tb_system_function f INNER JOIN tb_system_role_function uf ON f.id=uf.FUNCID " +
"INNER JOIN tb_system_role r ON r.id=uf.roleid WHERE f.status=1 AND f.functype=:funcType AND r.id IN (:ids) ORDER BY f.sortnum";
Query query = getSession().createSQLQuery(sql).addEntity(Function.class);
query.setParameter("funcType", functype);
query.setParameterList("ids", id);
return query.list();
}
}
然后没有啦!
然后这边并不推荐使用这种方法,因为select * from 是很低级的,数据量大的话这样是很耗费时间的,而且如果被别人看到的话是会被喷的,当然还请大家放过我,这只是我解决问题的一个办法而已。。。