hydrogen-dao 查询记录执行事务 数据库操作工具

程序名称:hydrogen-dao 查询记录执行事务

授权协议: Apache

操作系统: 跨平台

开发语言: Java

hydrogen-dao 查询记录执行事务 介绍

(本项目终止开发,因为现在 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);


// 查询结果包装成 Pojo
List 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

hydrogen-dao 查询记录执行事务 官网

http://git.oschina.net/yidinghe/hydrogen-dao

相关编程语言

SchemaCrawler提供一组用于增强标准JDBC Metadata的...
ER Master 是一个用于设计ER模型图的Eclipse插件。提...
Eclipse下用于画数据库ER图的插件,主要特性如下: ...
PowerDesigner 是Sybase的企业建模和设计解决方案,...
Mogwai ERDesigner NG是一个实体关系建模工具类似于...
Power*Architect 是一个数据建模工具,主要用在数据...