您的位置:首页 > 编程语言 > Java开发

Hibernate多条件查询以及与java+sql 之间数据类型转换关系

2017-03-29 13:49 766 查看
方法
说明
Restrictions.eq

Restrictions.allEq
利用Map来进行多个等于的限制
Restrictions.gt

Restrictions.ge
>=
Restrictions.lt

Restrictions.le
<=
Restrictions.between
BETWEEN
Restrictions.like
LIKE
Restrictions.in
in
Restrictions.and
and
Restrictions.or
or
Restrictions.sqlRestriction
用SQL限定查询
下面是一个例子:

@SuppressWarnings("unchecked")
public List<SSub> Select(SSub sub) {
Session session = null;
Transaction ta = null;
List<SSub> list = new ArrayList<SSub>();
try {
session = HibernateSessionFactory.getSession();
ta = session.beginTransaction();

Criteria criteria = session.createCriteria(SSub.class);
if (sub.getArriveTime() != null || !sub.getArriveTime().equals("")) {
criteria.add(Restrictions.eq("arriveTime", sub.getArriveTime()));
} else if (sub.getCreateTime() != null || !sub.getCreateTime().equals("")) {
criteria.add(Restrictions.eq("createTime", sub.getCreateTime()));
} else if (sub.getDriver() != null || !sub.getDriver().equals("")) {
criteria.add(Restrictions.eq("driver", sub.getDriver()));
} else if (sub.getId() != null || !sub.getId().equals("")) {
criteria.add(Restrictions.eq("id", sub.getId()));
} else if (sub.getKeeperId() != null || !sub.getKeeperId().equals("")) {
criteria.add(Restrictions.eq("keeperId", sub.getKeeperId()));
} else if (sub.getLicense() != null || !sub.getLicense().equals("")) {
criteria.add(Restrictions.eq("license", sub.getLicense()));
} else if (sub.getOrderId() != null || !sub.getOrderId().equals("")) {
criteria.add(Restrictions.eq("orderId", sub.getOrderId()));
} else if (sub.getSubContent() != null || !sub.getSubContent().equals("")) {
criteria.add(Restrictions.eq("subContent", sub.getSubContent()));
} else if (sub.getSubNumber() != null || !sub.getSubNumber().equals("")) {
criteria.add(Restrictions.eq("subNumber", sub.getSubNumber()));
} else if (sub.getTel() != null || !sub.getTel().equals("")) {
criteria.add(Restrictions.eq("tel", sub.getTel()));
}

ta.commit();
list = criteria.list();
} catch (Exception e) {
// TODO: handle exception
if (ta != null) {
ta.rollback();
}
e.printStackTrace();
} finally {
if (session != null) {
session.close();
}
}

return list;
}

Hibernate映射类型java类型标准SQL类型
integerjava.lang.Integerinteger
longjava.lang.Longbigint
shortjava.lang.Shortsmallint
floatjava.lang.Floatfloat
doublejava.lang.Floatdouble
big_decimaljava.math.BigDecimalnumeric
characterjava.lang.Stringchar(1)
stringjava.lang.Stringvarchar
bytebyte或java.lang.Bytetinyint
booleanboolean或java.lang.Boolean  bit
yes_no    boolean或java.lang.Booleanchar(1)('Y'/'N')
true_falseboolean或java.lang.Booleanchar(1)('Y'/'N')
datejava.util.Date或java.sql.Datedate
timejava.util.Date或java.sql.Timetime
timestampjava.util.Date或java.sql.timestamptimestamp
calendarjava.util.Calendartimestamp
calendar_datejava.util.Calendardate
binarybyte[]varbinary或blob
textjava.lang.Stringclob
serializablejava.io.Serializable实例varbinary或blob
clobjava.sql.Clobclob
blobjava.sql.Blobvarbinary或blob
classjava.lang.Classvarchar
localejava.util.Localevarchar
timezonejava.util.TimeZonevarchar
currencyjava.util.Currencyvarchar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐