采用的是教学视频里的DAO模式 mysql数据库建了一张表personmess(id int,name varchar,password varchar) personmess的bean就不贴了下面是UserDao接口
package com.amaker.servletsession;
import com.amaker.servletsession.User;
public interface UserDao {
//login
public User login(String name,String password);
//register
public void register(User u);
//check
public boolean check(String name);
}
实现类
package com.amaker.servletsession;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import com.amaker.servletsession.User;
import com.amaker.servletsession.UserDao;
import com.amaker.servletsession.LinkMysql;
public class UserDaoimpl implements UserDao {
public User login(String name, String password) {
String sql="select id,name,password from personmess where name=? and password=? ";
//String sql1="select name from personmess where id=1";
try {
//Class.forName("com.mysql.jdbc.Driver"); //1、使用CLASS 类加载驱动程序
//Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","root"); //2、连接数据库
Connection con =LinkMysql.connectDb();
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, password);
ResultSet rs=pstmt.executeQuery();
if(rs.next())
{
int id=rs.getInt(1);
//String username=rs.getString(2);
//int userpassword=rs.getInt(3);
User user=new User();
user.setId(id);
user.setName(name);
user.setPassword(password);
//System.out.println(id);
return user;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public void register(User u) {
String sql="insert into personmess(id,name,password) values(?,?,?)";
try {
PreparedStatement pstmt=LinkMysql.connectDb().prepareStatement(sql);
pstmt.setInt(1,u.getId());
pstmt.setString(2, u.getName());
pstmt.setString(3, u.getPassword());
pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
public boolean check(String name) {
String sql="select id,name,password from personmess where name=?";
try {
PreparedStatement pstmt=LinkMysql.connectDb().prepareStatement(sql);
pstmt.setString(1, name);
ResultSet rs=pstmt.executeQuery();
if(rs.next())
{
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
public static void main(String[] args)
{
UserDaoimpl u=new UserDaoimpl();
System.out.println(u.check("jc"));
User user=u.login("jc","12345");
if(user!=null)
{
System.out.println(user.name);
}else {
{
System.out.println("null");
}
}
}
}
main方法执行后的结果表明是连着数据库的,但是servlet不行,下面是servlet
package com.amaker.servletsession;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class ServletSession extends HttpServlet {
private static final long serialVersionUID = 1L;
public ServletSession() {
super();