table  news
字段
--id--newsTitle(varchar)--newsFrom(varchar)
代码:
public class DaoTest { public static void main(String[] args) {
Session session = HibernateUtil.getSession();
Transaction tx = null;
try {
tx=session.beginTransaction();
String kew1=null;
String kew2="";
Query query=session.createQuery("from Tnews t where t.newsFrom ='"+kew1+"'");
List list=query.list();
System.out.println(list.size());
tx.commit();
} catch (HibernateException e) {
e.printStackTrace();
if (tx!=null) {
tx.rollback();
}
} finally {
HibernateUtil.closeSession();
}
}}如:
mysql query browser 窗口
newssFrom
--娱乐头条
--NULL
--    
--新闻早报
--NULL
--电影快报
--NULL
--南国早报
--
--广州日报
本人想查询字段newsFrom为空值或者无数据的 也就是没新闻来源的   新闻;
当取值kew1时,查询数据为0;
当取值kew2时,可以查出数据来,但不是我想要的,也就是查到2条数据,我想要查的是包含上面显示为NULL的的数据。,结果应该为5才行。请问我错在那里,或者如何写sql查询语句等!

解决方案 »

  1.   

    建议能在贴子中把表结构,数据,期望的结果描述出来,这样获得解决方案的机会更多。参考一下个人觉得比较好的提问方式。得到回复的机率会大一些http://www.accessbbs.cn/bbs/viewthread.php?tid=19552
    http://www.accessbbs.cn/bbs/viewthread.php?tid=19546
      

  2.   


    表news
    -----------------------------------------------------------
    id      newsTitle(varchar)     newssFrom(varchar)
    -----------------------------------------
    1        美容                    娱乐头条 
    2         公车事件                   NULL 
    3        达人          
    4        山寨                    新闻早报 
    5         武陵                       NULL 
    6        成龙                    电影快报 
    7         诸葛孔明                   NULL 
    8        洪水                    南国早报 
    9         张飞         
    10       亚运会                  广州日报 
    -------------------------------------------
    注:NULL为mysql query browser 窗口显示的,其实没数据的。 
    字段、数据及属性上面都有了。
    期望把没有新闻来源(newsFrom)的新闻查询出来!
    希望仁兄能看懂了,哈哈
      

  3.   

    有新闻来源(newsFrom)的新闻查询出来!
    你还是没有说明什么是 "没有新闻来源" , 所以我只能自己猜,结果如下。
    mysql> select * from news;
    +----+-----------+-----------+
    | id | newsTitle | newssFrom |
    +----+-----------+-----------+
    |  1 | 美容      | 娱乐头条  |
    |  2 | 公车事件  | NULL      |
    |  3 | 达人      |           |
    |  4 | 山寨      | 新闻早报  |
    |  5 | 武陵      | NULL      |
    |  6 | 成龙      | 电影快报  |
    |  7 | 诸葛孔明  | NULL      |
    |  8 | 洪水      | 南国早报  |
    |  9 | 张飞      |           |
    | 10 | 亚运会    | 广州日报  |
    +----+-----------+-----------+
    10 rows in set (0.00 sec)mysql>
    mysql> select * from news where newssFrom is null or newssFrom='';
    +----+-----------+-----------+
    | id | newsTitle | newssFrom |
    +----+-----------+-----------+
    |  2 | 公车事件  | NULL      |
    |  3 | 达人      |           |
    |  5 | 武陵      | NULL      |
    |  7 | 诸葛孔明  | NULL      |
    |  9 | 张飞      |           |
    +----+-----------+-----------+
    5 rows in set (0.00 sec)mysql>
      

  4.   

    其实就像你上面写的吗,就是查询字段newsFrom为 ' '和NULL的news(新闻)。
    很疑自己的表达能力了,哈!
    谢谢了!
      

  5.   

    谢谢,解决这个问题了
    Query query=session.createQuery("from Tnews t where t.newsFrom is '"+kew2+"' or t.newsFrom is null" )
    可以查出5行数据