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

解决方案 »

  1.   

    List list = session.createQuery("***").list();
    Object object = list.size()>0 ? list.get(0) : null ;
      

  2.   


    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;/**
     *
     * @author Administrator
     */
    @WebServlet(urlPatterns = {"/loginServer"})
    public class loginServer extends HttpServlet {    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            int password = Integer.parseInt(request.getParameter("pwd"));
            int xuehao = Integer.parseInt(request.getParameter("xh"));
            String p = "?password=" + request.getParameter("pwd") + "&&xuehao=" + request.getParameter("xh");
            String p2="?password=444&&xuehao=888";
            String hrefToXuanke="/SSC/courseSelection.jsp";
            int a=333;
    //        Configuration cfg = new Configuration().configure();
    //        SessionFactory sf = cfg.buildSessionFactory();
    //        Session s = sf.openSession();
    //        Transaction ts = s.beginTransaction();
                        try{
                    Class.forName("com.mysql.jdbc.Driver").newInstance();
                      String url = "jdbc:mysql://localhost:3306/ssc";
                String user = "root";
                String passWord = "111111";
                   Connection conn=DriverManager.getConnection(url, user, passWord);
                   Statement stmt = conn.createStatement();
                ResultSet rst = stmt.executeQuery("select password from student where id="+request.getParameter("xh"));
               a =rst.getInt(1);            }catch(Exception e){
                    e.getMessage();
                }
                            if(a!=password){hrefToXuanke += p2;}
                else{hrefToXuanke += p;}
            response.sendRedirect(hrefToXuanke);
        }    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /**
         * Handles the HTTP
         * <code>GET</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }    /**
         * Handles the HTTP
         * <code>POST</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }    /**
         * Returns a short description of the servlet.
         *
         * @return a String containing servlet description
         */
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    }
    附上代码一枚拜托各位了!
      

  3.   

    干嘛非要把password取出来呢?直接用name和password一起查,看有没有结果不行吗
      

  4.   


    直接用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()