manerger層学習_検索
2813 ワード
manger層は主にhibernateを使用しています
hibernateはjdbcの軽量パッケージであり、オブジェクト向けの方法でデータベースを操作することができる.すなわち、ORM;クエリー:
hibernateはjdbcの軽量パッケージであり、オブジェクト向けの方法でデータベースを操作することができる.すなわち、ORM;
, SQL, :
String sql = "SELECT A FROM " + Salary.class.getName() + " A where opTime=" + opTime;
List<Salary> salaries = searchBySql(Salary.class, sql);
// , list.get(0);
public BasicSalary getByUserId(Long userId) {
if(null==userId){
return null;
}
//String sql = "SELECT A FROM " +BasicSalary.class.getName()+ " A WHERE A.userId = " + userId + " and A.status= 1" ;
String sql = "SELECT A FROM " + BasicSalary.class.getName() + " A WHERE A.userId = " + userId ;
List<BasicSalary> list = searchBySql(BasicSalary.class, sql);
if(list.size()>0){
return list.get(0);
}
return null;
}
, :
public String viewMonth(HttpServletRequest request,@PathVariable Long objectId){
Salary salary=salaryManager.getByObjectId(objectId);
request.setAttribute("salary", salary);
return getFileBasePath()+"showMonthSalary";
}
//Salary salary=salaryManager.getByObjectId(objectId);
public T getByObjectId(Serializable objectId) {
if (null == objectId) {
return null;
}
Class entityClass = getActualArgumentType();
StringBuilder sql = new StringBuilder();
sql.append("SELECT A FROM ").append(entityClass.getName()).append(" A WHERE A.objectId = ?");
List<T> list = searchBySql(entityClass, sql.toString(), new Object[] { objectId });
if (list.size() > 0) {
return list.get(0);
}
return null;
}
// List<T> list = searchBySql(entityClass, sql.toString(), new Object[] { objectId });
public <A> List<A> searchBySql(Class<A> entity, String sql, Object... params) {
Query query = getSession().createQuery(sql);
int i = 0;
for (Object object : params) {
query.setParameter(i++, object);
}
return query.list();
}
// ,
public Map<Long, String> queryUserDepartment(){
Map<Long, String> userIdMap=new HashMap<Long, String>();
String query2="select U.objectId,D.name from " + User.class.getName() + " as U," + Department.class.getName() + " as D "
+ "WHERE U.departmentId = D.objectId";
List<Object[]> result=this.getSession().createQuery(query2).list();
for(Object[] obj:result){
userIdMap.put((Long)obj[0], (String)obj[1]);
}
return userIdMap;
}
//String query2="select U.objectId,D.name from " + User.class.getName() + " as U," + Department.class.getName() + " as D "+ "WHERE U.departmentId = D.objectId";