数据库为Oracle11g
SQL实现查询时通过addEntity(Class)来讲结果对象化。
public List<Address> executeQuerySql(String sql) {
Session session = getSessionFactory().getCurrentSession();
SQLQuery sqlQuery = session.createSQLQuery(sql).addEntity(Address.class);
List<Address> list = sqlQuery.list();
return list;
}
首先来看看HQL实现更新的操作
public boolean updatePart(AddressEntity entity) {
/*
* AddressEntity 为类名,e.name,e.adminName等等为类AddressEntity 中属性名,两者均区分大小写
*/
StringBuilder hql = new StringBuilder("UPDATE AddressEntity e SET ");
if (entity.getName() != null && !entity.getName().equals(""))
hql.append(" e.name = '" + entity.getName() + "',");
if (entity.getAdminName() != null && !entity.getAdminName().equals(""))
hql.append(" e.adminName = '" + entity.getAdminName() + "',");
if (entity.getAdminNumber() != null
&& !entity.getAdminNumber().equals(""))
hql.append(" e.adminNumber = '" + entity.getAdminNumber() + "',");
if (entity.getType() != 0)
hql.append(" e.type='" + entity.getType() + "',");
if (entity.getParentUuid() != null)
hql.append(" e.parentUuid='" + entity.getParentUuid() + "',");
//这里还可以写成hql.appdend(" e.uuid='" + entity.getUuid() + "'");用来处理最后一行多一个逗号问题
hql.append(" e.updateDate= SYSDATE");
hql.append(" WHERE e.uuid='" + entity.getUuid() + "'");
entityDao.executeUpdateHql(hql.toString());
return true;
}
@Override
public List<AddressEntity> executeQueryHql(String hql) {
Session session = getSessionFactory().getCurrentSession();
Query query = session.createQuery(hql);
List<AddressEntity> list = query.list();
return list;
}
在看看SQL实现更新操作
@Override
public boolean updatePart(AddressEntity entity) {
/*
* 表名DZ_ENTITY为数据库中的tableName,e.NAME等也为table中的字段名,不区分大小写
*/
StringBuilder hql = new StringBuilder("UPDATE DZ_ENTITY e SET ");
if (entity.getName() != null && !entity.getName().equals(""))
hql.append(" e.NAME = '" + entity.getName() + "',");
if (entity.getAdminName() != null && !entity.getAdminName().equals(""))
hql.append(" e.XZQH_NAME = '" + entity.getAdminName() + "',");
if (entity.getAdminNumber() != null
&& !entity.getAdminNumber().equals(""))
hql.append(" e.XZQH_NUMBER = '" + entity.getAdminNumber() + "',");
if (entity.getType() != 0)
hql.append(" e.TYPE='" + entity.getType() + "',");
if (entity.getParentUuid() != null)
hql.append(" e.PARENT_UUID='" + entity.getParentUuid() + "',");
hql.append(" e.UPDATE_DATE= SYSDATE");
hql.append(" WHERE e.UUID='" + entity.getUuid() + "'");
entityDao.executeUpdateSql(hql.toString());
return true;
}
@Override
public boolean executeUpdateSql(String sql) {
Session session = getSessionFactory().getCurrentSession();
SQLQuery sqlQuery = session.createSQLQuery(sql);
sqlQuery.executeUpdate();
return true;
}