如题 用的库文件是hibernate 用的是Mysql
要实现的功能:用户先进入登陆界面 输入id和password(用户输入)
接下来转到 loginServer中通过id调出数据库中相应的password(数据库中的)对比两个password如果相同则进入系统不同则弹出对话框
存在的问题:不知道在loginServer中怎样从数据库里调出单个的值。求大神帮忙谢谢了!HibernateMySQL数据库
要实现的功能:用户先进入登陆界面 输入id和password(用户输入)
接下来转到 loginServer中通过id调出数据库中相应的password(数据库中的)对比两个password如果相同则进入系统不同则弹出对话框
存在的问题:不知道在loginServer中怎样从数据库里调出单个的值。求大神帮忙谢谢了!HibernateMySQL数据库
Object object = list.size()>0 ? list.get(0) : null ;
/*
* 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>
}
附上代码一枚拜托各位了!
直接用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()