//对数据库的操作
public class AccessDB
{
private static AccessDB op;
private Connection conn;
private String driver;
private String url;
private String userName;
private String userPassword;
private AccessDB()
{
}
private AccessDB(String driver,String url,String userName,String userPassword) throws Exception
{
this.driver = driver;
this.url = url;
this.userName = userName;
this.userPassword = userPassword;
Class.forName(driver);
conn = DriverManager.getConnection(url,userName,userPassword);
}
//获取数据库连接
public void getConnection() throws Exception
{
if(conn = null)
{
Class.forName(this.driver);
conn = DriverManager.getConnection(this.url,this.userName,this.userPassword);
}
}
//静态方法,返回AccessDB实例
public static AccessDB instance()
{
if(op == null)
{
op = new AccessDB();
}
return op;
}
//静态方法,返回AccessDB实例
public static AccessDB instance(String driver,String url,String userName,String userPassword) throws Exception
{
if(op == null)
{
op = new AccessDB(driver,url,userName,userPassword);
}
return op;
}
//访问数据库,执行插入操作
public boolean insert(String sql) throws Exception
{
getConnection();//初始化数据库连接
Statement stmt = this.conn.createStatement();//创建Statement对象
if(stmt.executeUpdate(sql) != 1)
{
return false;
}
return true;
}
//访问数据库,执行查询操作
public ResultSet query(String sql) throws Exception
{
getConnection();
Statement stmt = this.conn.createStatement();
return stmt.executeQuery(sql);
}
//访问数据库,执行删除操作
public void delete(String sql) throws Exception
{
getConnection();
Statement stmt = this.conn.createStatement();
stmt.executeUpdate(sql);
}
//访问数据库,执行更新操作
public void update(String sql) throws Exception
{
getConnection();
Statement stmt = this.conn.createStatement();
stmt.executeUpdate(sql);
}
}
//在另外一个类中引用,关键代码
AccessDB accessDB = AccessDB.instance("com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/DBName","root","123456");
ResultSet rs = accessDB.query("select userPassword from user_table where userName = '"+userName+"'");
if(rs.next())
{
if(rs.getString("userPassword").equals(userPassword))
{
//存入Session的关键代码
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpSession session = httpRequest.getSession(true);
session.setAttribute("user_name",userName);
}
else
{
println("用户不存在或者密码不对");
}
}