做了一个登陆系统在连接数据库时出错了
如题 用的库文件是hibernate 用的是Mysql
要实现的功能:用户先进入登陆界面 输入id和password(用户输入)
接下来转到 loginServer中通过id调出数据库中相应的password(数据库中的)对比两个password如果相同则进入系统不同则弹出对话框
存在的问题:不知道在loginServer中怎样从数据库里调出单个的值。求大神帮忙谢谢了!
------解决方案--------------------List list = session.createQuery("***").list();
Object object = list.size()>0 ? list.get(0) : null ;
------解决方案--------------------干嘛非要把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()