baseDao增删改查.

1、baseDao增删改查介绍

(1)、增加Create)操作:

  • 通过BaseDao的insert方法可以向数据库中插入一条新的记录。

  • 该方法接受一个实体对象作参数,将该对象的属性映射到表的字段上,并执行插入操作。

(2)、删除(Delete)操作:

  • 通过BaseDao的delete方法可以根据指定条件从数据库中删除记录。
  • 该方法接受一个条件参数,可以是一个简单的等值条件,也可以是一个复杂的条件表达式。

(3)、修改(Update)操作:

  • 通过BaseDao的update方法可以根据指定条件更新数据库中的记录。
  • 该方法接受一个条件参数和一个实体对象作为参数,将实体对象的属性映射到数据库表的字段上,并执行更新操作。

(4)、查询(Retrieve)操作:

  • 通过BaseDao的select方法可以从数据库中查询记录。
  • 该方法接受一个条件参数和一个返回类型参数,根据条件从数据库中查询符合条件的记录,并将查询结果映射到返回类型的对象上。

2、basDao类

(1)、打开数据库

 private String dirver="com.mysql.jdbc.Driver";
    private String url="jdbc:mysql://localhost:3306/ClothingDB";
    private String  username="root";
    private String password="root";

    /**
     *  打开数据库
     * @return
     */
    public Connection getConnection(){
        Connection con=null;
        try {
            Class.forName (dirver);
            con= DriverManager.getConnection(url,username,password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }

(2)、关闭资源

/**
     * 关闭资源
     * @param rs
     * @param pst
     * @param con
     */
    public  void close(ResultSet rs,PreparedStatement pst,Connection con){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(pst!=null){
            try {
                pst.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(con!=null){
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

(3)、增删改的方法

/**
     * 增删改
     * @param sql
     * @param params
     * @return
     */
public int executeUpdate(String sql,Object[] params){
        int row=0;
        //1,2、获取链接
        Connection conn=getConnection();
        //3、编写sql语句---》增删改sql不一样,由调用者
        try {
            //4、预处理对象
            PreparedStatement pst= conn.prepareStatement(sql);
            //5、数据注入
            for (int i = 0; i < params.length; i++) {
                pst.setObject(i+1,params[i]);
            }
            //6、处理数据
            row=pst.executeUpdate();
            //7、释放资源
            close(null,pst,conn);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return row;
    }

3、BasDao类的作用

BaseDao类是一个基础的数据访问对象类,它提供了一些通用的数据库操作方法,用于对数据库进行增删改查操作。通过继承BaseDao类,可以方便地实现对不同实体类的数据库操作。

basDao作用解释
封装数据库连接和关闭BaseDao类中包含了数据库连接和关闭的方法,可以方便地进行数据库的连接和关闭操作,避免了在每个具体的数据访问对象中重复编写这些代码
提供通用的增删改查方法BaseDao类中定义了一些通用的增删改查方法,如插入数据、更新数据、删除数据和查询数据等。这些方法可以被具体的数据访问对象继承和重写,以实现对不同实体类的数据库操作
提供事务支持BaseDao类中还提供了事务相关的方法,如开启事务、提交事务和回滚事务等。通过使用这些方法,可以保证在数据库操作过程中的一致性和完整性
提供异常处理BaseDao类中对数据库操作过程中可能出现的异常进行了处理,可以捕获并处理异常,避免了异常导致的程序中断或数据不一致等问题
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的BaseDao类,封装了增加、删除、查询、更新四个方法: ``` import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class BaseDao { // 定义数据库连接对象 private Connection conn = null; // 构造方法,初始化数据库连接对象 public BaseDao() { conn = DBUtil.getConnection(); } // 增加数据方法 public int add(String sql, Object... params) { int count = 0; PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement(sql); // 设置占位符参数 for (int i = 0; i < params.length; i++) { pstmt.setObject(i + 1, params[i]); } // 执行增加操作 count = pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.closeAll(null, pstmt, null); } return count; } // 删除数据方法 public int delete(String sql, Object... params) { int count = 0; PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement(sql); // 设置占位符参数 for (int i = 0; i < params.length; i++) { pstmt.setObject(i + 1, params[i]); } // 执行删除操作 count = pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.closeAll(null, pstmt, null); } return count; } // 查询数据方法 public ResultSet query(String sql, Object... params) { ResultSet rs = null; PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement(sql); // 设置占位符参数 for (int i = 0; i < params.length; i++) { pstmt.setObject(i + 1, params[i]); } // 执行查询操作 rs = pstmt.executeQuery(); } catch (SQLException e) { e.printStackTrace(); } return rs; } // 更新数据方法 public int update(String sql, Object... params) { int count = 0; PreparedStatement pstmt = null; try { pstmt = conn.prepareStatement(sql); // 设置占位符参数 for (int i = 0; i < params.length; i++) { pstmt.setObject(i + 1, params[i]); } // 执行更新操作 count = pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtil.closeAll(null, pstmt, null); } return count; } } ``` 在使用该类时,可以通过继承的方式来实现具体的操作,例如: ``` public class UserDao extends BaseDao { // 添加用户 public int addUser(User user) { String sql = "insert into user(username, password, age) values(?,?,?)"; return super.add(sql, user.getUsername(), user.getPassword(), user.getAge()); } // 删除用户 public int deleteUser(int id) { String sql = "delete from user where id=?"; return super.delete(sql, id); } // 查询用户 public User getUser(int id) { User user = null; String sql = "select * from user where id=?"; ResultSet rs = super.query(sql, id); try { if (rs.next()) { user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setAge(rs.getInt("age")); } } catch (SQLException e) { e.printStackTrace(); } return user; } // 更新用户 public int updateUser(User user) { String sql = "update user set username=?, password=?, age=? where id=?"; return super.update(sql, user.getUsername(), user.getPassword(), user.getAge(), user.getId()); } } ``` 这样,我们就可以通过继承BaseDao类来实现具体的增、删、查、改操作了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值