日期:2014-05-17  浏览次数:20660 次

做了一个登陆系统在连接数据库时出错了
如题  用的库文件是hibernate  用的是Mysql
要实现的功能:用户先进入登陆界面 输入id和password(用户输入) 
接下来转到 loginServer中通过id调出数据库中相应的password(数据库中的)对比两个password如果相同则进入系统不同则弹出对话框
存在的问题:不知道在loginServer中怎样从数据库里调出单个的值。求大神帮忙谢谢了!
Hibernate MySQL 数据库

------解决方案--------------------
List list = session.createQuery("***").list();
Object object = list.size()>0 ? list.get(0) : null ;
------解决方案--------------------
干嘛非要把password取出来呢?直接用name和password一起查,看有没有结果不行吗
------解决方案--------------------
引用:
干嘛非要把password取出来呢?直接用name和password一起查,看有没有结果不行吗


直接用name和password一起查就不知道是name错还是password错吧?
我学习做的demo用的是这个hibernate的hql查询
static void query(String name){
  Session s=null;
  try{
   s=HibernateUtil.getSession();
   
   //from后面是对象,不是表名
   String hql="from Admin as admin where admin.aname=:name";//使用命名参数,推荐使用,易读。
   Query query=s.createQuery(hql);
   query.setString("name", name);
   
   List<Admin> list=query.list();
   
   for(Admin admin:list){
    System.out.println(admin.getAname());
   }
  }finally{
   if(s!=null)
   s.close();
  }
 }
参考http://www.cnblogs.com/shiyangxt/archive/2009/01/13/1375151.html的
如果确定查询结果只有一个的话hibernate有个uniqueResult()