增删改查 dao层源码


//dbhelper:数据库连接类
public static Connection getConnection() throws Exception{
//JDBC连接驱动
  Class.forName("com.mysql.jdbc.Driver");
//数据库 用户名密码 连接的数据库
  String user="";
  String password="";
  String url="jdbc:mysql://localhost:3306/roco?characterEncoding=utf-8";//characterEncoding=utf-8防止乱码
// 建立给定的数据库 URL 的连接。
  Connection conn=DriverManager.getConnection(url, user, password);
  return conn; 
 }

//UserDao接口类interface
 public boolean register(userBean userbean);//注册
 public Listquery();//查询
 public boolean delete(String yonghum) ;//根据id删除用户
 public boolean update(String yonghum,String username,String password) ;//更新用户信息 
/*userBean 用户封装类  yonghum- username- password-- bean(userBean)封装的属性  */


//userdaoimpl 继承接口类 implements关键字继承UserDao接口类 add unimplemented methods 添加未实现的方法
//注册 or添加
public boolean register(userBean userbean) {
  Connection conn;
  int  num=0;
  try {
//dbhelper数据库连接类  点上getConnection() 连接数据库类的连接方法
   conn = dbhelper.getConnection();
//sql添加语句(可以先在数据库里运行一次查询语句有没有问题)
   String sql="insert into user(yonghum,username,password) values(?,?,?)";
//PreparedStatement 预编译语句对象,用于执行预编译的SQL语句,执行效率比Statement高
   PreparedStatement pst=conn.prepareStatement(sql);
//注意bean层封装的数据类型 
   pst.setString(1, userbean.getYonghum());
   pst.setString(2, userbean.getUsername());
   pst.setString(3, userbean.getPassword());
//exeupdate用于执行 INSERT(增加)、UPDATE(更新) 或 DELETE(删除) 语句以及 SQL DDL(数据定义语言)语句
//executeQuery 通常用于SELECT查询语句
//在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。
      num=pst.executeUpdate();
//Exception   捕捉异常 
  } catch (Exception e) {
   e.printStackTrace();
  }
// 判断num 并返回Boolean值true or false
  return num>0?true:false; 
 }

//查询
public List query() {
    Connection conn;
//创建list容器放入userBean对象
List list = new ArrayList();  
   try {  
     conn = dbhelper.getConnection();
     String sql="select * from user";
     PreparedStatement pstm=conn.prepareStatement(sql); 
//在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。     
     ResultSet rs= pstm.executeQuery(); 
//循环遍历出数据库的所有数据
   while(rs.next()){  
//实例化UserBean 
            userBean user = new userBean();  
            user.setYonghum(rs.getString(1));
             user.setUsername(rs.getString(2));
              user.setPassword(rs.getString(3));
          //放入list集合
                 list.add(user);  
             }   
         } catch (SQLException e) {  
        //捕捉sql运行时发生的异常
             e.printStackTrace();  
         } catch (Exception e) {
    e.printStackTrace();
   }
//返回list
   return list;  
 }

//删除 根据yonghum删除
public boolean delete(String yonghum) {
  Connection conn;
   int i=0;
  boolean de= false;
  try {
    conn=dbhelper.getConnection();
    String sql="delete  from user where yonghum='"+yonghum+"'";
    PreparedStatement pstm=conn.prepareStatement(sql); 
      i=pstm.executeUpdate();
//判断
    if(i>0){
     de= true; 
    }
  } catch (Exception e) {
   e.printStackTrace();
  }
//返回Boolean值
  return de;
 }
//更新 修改
public boolean update(String yonghum, String username, String password) {
  Connection conn;
  boolean up= false;
  int i=0
  try {
    conn=dbhelper.getConnection();
 String sql="update usern set username ='"+username+"',password ='"+password+"' where yonghum='"+yonghum+"'";
    PreparedStatement pstm=conn.prepareStatement(sql);
     i=pstm.executeUpdate();
    if(i>0){
     up= true; 
    }
  } catch (Exception e) {
   e.printStackTrace();
  }
  return up;
 }
最后copy连接数据库的jar包  至工程 -webroot-WEB-INF-lib

你可能感兴趣的:(增删改查 dao层源码)