对数据库的操作(代码风格及方法)

 //对数据库的操作
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("用户不存在或者密码不对");
 }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值