数据库CRUD的通用方法

增删改的通用方法

/**
     * 增删改的通用方法
     * 
     * @param sql
     * @param objects
     * @return
     */
    public static int executeUpdate(String sql, Object... objects) {
        int result = 0;
        Connection conn = null;
        PreparedStatement psmt = null;
        try {
            conn = getConnection();
            psmt = conn.prepareStatement(sql);
            if (objects != null) {
                for (int i = 0; i < objects.length; i++) {
                    psmt.setObject(i + 1, objects[i]); // 下标从1开始的
                }
            }
            result = psmt.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            close(conn, psmt, null);
        }
        return result;
    }

查询的通用方法

/**
     * 查询的通用方法
     * 
     * @param sql
     * @param rsHandler
     * @param objects
     * @return
     */
    public static Object executeQuery(String sql, IResultSetUtil rsHandler,
            Object... objects) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = getConnection();
            preparedStatement = connection.prepareStatement(sql);
            if (objects != null) {
                for (int i = 0; i < objects.length; i++) {
                    preparedStatement.setObject(i + 1, objects[i]);

                }
            }
            resultSet = preparedStatement.executeQuery();

            return rsHandler.doHandler(resultSet);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            close(connection, preparedStatement, resultSet);
        }
        return null;
    }

查询单个字段值的通用方法

/**
     * 查询单个字段值的通用方法
     * 
     * @param sql
     * @param objects
     * @return
     */
    public static Object executeQuery(String sql, Object... objects) {
        return executeQuery(sql, new IResultSetUtil() {
            @Override
            public Object doHandler(ResultSet rs) throws SQLException {
                Object object = null;
                if (rs.next()) {
                    object = rs.getObject(1);
                }
                return object;
            }
        }, objects);
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis Plus 是在 MyBatis 的基础上进行的二次封装,提供了一套通用CRUD(增删改查)代码操作。通过使用 MyBatis Plus,我们可以大大简化数据库操作的代码编写,并且极大提升了开发效率。 在 MyBatis Plus 中,我们只需要定义一个实体类,通过注解的方式指定数据表的映射关系,就可以自动生成包括增加、删除、更新、查询的通用操作方法。同时,MyBatis Plus 也支持使用简单的条件构造器进行查询操作,并且可以通过代码生成器生成实体类、Mapper 接口、XML 映射文件等。 对于增加操作,我们只需要调用对应的插入方法,并传入需要插入的实体对象即可。对于删除操作,我们可以通过主键或者条件构造器来删除满足条件的记录。更新操作使用了乐观锁的机制,在更新时会检查数据的版本号,防止并发导致的数据错误。查询操作可以通过主键、条件构造器或者分页进行查询,为了提高性能,还可以使用缓存进行查询结果的缓存。 MyBatis Plus 不仅提供了基本的 CRUD 操作,还可以进行条件构造器的自定义,支持 Lambda 表达式进行查询操作,提供了分页、乐观锁等功能,灵活性很高。同时,MyBatis Plus 也支持自定义 SQL 语句的编写,可以满足复杂业务场景下的需求。 总的来说,MyBatis Plus 提供了一套通用CRUD 代码操作,大大简化了数据访问层的开发工作,提升了开发效率和代码质量。它是一个成熟而强大的持久层框架,被广泛应用于各种 Java 后端项目中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值