hibernate查询时查不出数据但是数据库中数据存在。具体问题见补充。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate查询时查不出数据但是数据库中数据存在。具体问题见补充。相关的知识,希望对你有一定的参考价值。

public List<DataType> findDataTypeByAccIdAndTypeName(int accId,
String typeName)
String hql = "from DataType d where d.accId='"+1+"'";
return getDataTypeDao().findAll(hql);

执行该方法能查询出数据库中的数据
public List<DataType> findDataTypeByAccIdAndTypeName(int accId,
String typeName)
String hql = "from DataType d where d.accId='"+1+"'and d.typeName='"+超市"'";
return getDataTypeDao().findAll(hql);
执行这个方法就查询不出数据了,但是数据库中typeName字段有超市这个值而且accId我全部都设的是1呀。为什么会查询不错来了?

参考技术A 如果 你使用的mysql 数据 ,看下mysql 数据库连接串中是否加上字符编码 如下:

jdbc:mysql://localhost:3306/zxb_trade?characterEncoding=utf-8
参考技术B 把hql改成如下
String hql = "from DataType d where d.accId='1'and d.typeName='超市'";

sqlite时间段查询

同样的SQL语句,查不出数据来

select * from table1 where t1>=\'2017-6-1\' and t1<=\'2017-6-5\'

 

改成

select * from table1 where t1>=\'2017-06-01\' and t1<=\'2017-06-05\'

这样就可以查出数据来

 

数据库中的t1可以设置成TEXT DATE DATETIME都是可以的。

 

如果是只有日期请设置成DATE,

如果有日期时间则设置为DATE TIME,

当然TEXT都行,就是只能输入值了。

//--------------------------------------------------------------------------------------------------------

以下是来自sqlite expert personal的截图:

 

以上是关于hibernate查询时查不出数据但是数据库中数据存在。具体问题见补充。的主要内容,如果未能解决你的问题,请参考以下文章

spring jdbctemplate 使用中文查询条件 查不出结果

SQL条件!=null查不出数据

前台页面查询条件为年月日,时间间隔是同一天,数据库有数据却查不出来

hibernate级联修改之后接着查询时,查不出来?,用hibernate做的返回对象为null,求解

SQL语句查询不等于怎么查不出来?

MySQL子查询调优