hydrogen-dao 数据库操作工具开源项目

我要开发同款
匿名用户2015年03月10日
47阅读
开发技术Java
所属分类数据库相关、数据库管理工具
授权协议Apache

作品详情

(本项目终止开发,因为现在MyBatis配合SpringBoot使用已经全程免配置,其易用性已经达到作者本人的期望。)

hydrogen-dao是一个轻量级的JDBC数据库操作工具,专注于简化数据库的连接管理SQL执行。其主要功能有:

连接池管理,状态查看;

跨数据库的事务;

根据查询参数来动态组装select/insert/update/delete语句,免除大量的if-else;

简化分页查询和批处理。

下面是一个例子:

// 简单查询List users = dao.query("select * from users where id in(?,?,?)", 1,2,3);// 查询结果包装成 PojoList users = dao.query(User.class, "select * from users where id in(?,?,?)", 1,2,3);// 动态组装条件List users = dao.query(SQL        .Select("ID", "NAME", "ROLE")        .From("USERS")        .Where(username != null, "NAME=?", username)  // 仅当变量 username 不为 null 时才会包含该查询条件        .And(role != null, "ROLE in ?", roles)           // 这里的 roles 变量可以是数组或 List);// 分页查询String sql = "select * from users where name like ?";int pageSize = 10;  // 页大小int pageIndex = 2;  // 页号,0 表示第一页Page page = dao.queryPage(User.class, sql, pageSize, pageIndex, "Adm%");System.out.println("Total count: " + page.getTotal()); // 要获取总记录数,实际上查询了两次for (User user: page) {    System.out.println(user);}

hydrogen-dao是一个Java的轻量级的数据库访问库,依赖标准的JDBC接口。下面是一个使用例子:

查询记录DAO dao = getDAO();List userList = dao.query(        User.class,                                         // 包装类        "select * from USER where NAME like ? and ROLE=?",  // 语句        "admin%", 3);                                       // 参数for (User user: userList) {    System.out.println("user name: " + user.getName());}执行事务final DAO dao = getDAO();DAO.runTransactionWithException(new Runnable() {  // 所有事务都以 Runnable 的方式执行,简单明了    public void run() {        dao.execute("insert into USER(id,name) values(?,?)", 1, "user1");        throw new Exception();    // 之前的 insert 将会回滚,同时异常抛出    }});

使用方法参考WIKI。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论