(本项目终止开发,因为现在MyBatis配合SprigBoot使用已经全程免配置,其易用性已经达到作者本人的期望。)
hydroge-dao是一个轻量级的JDBC数据库操作工具,专注于简化数据库的连接管理SQL执行。其主要功能有:
连接池管理,状态查看;
跨数据库的事务;
根据查询参数来动态组装select/isert/update/delete语句,免除大量的if-else;
简化分页查询和批处理。
下面是一个例子:
// 简单查询List users = dao.query("select * from users where id i(?,?,?)", 1,2,3);// 查询结果包装成 PojoList users = dao.query(User.class, "select * from users where id i(?,?,?)", 1,2,3);// 动态组装条件List users = dao.query(SQL .Select("ID", "NAME", "ROLE") .From("USERS") .Where(userame != ull, "NAME=?", userame) // 仅当变量 userame 不为 ull 时才会包含该查询条件 .Ad(role != ull, "ROLE i ?", roles) // 这里的 roles 变量可以是数组或 List);// 分页查询Strig sql = "select * from users where ame like ?";it pageSize = 10; // 页大小it pageIdex = 2; // 页号,0 表示第一页Page page = dao.queryPage(User.class, sql, pageSize, pageIdex, "Adm%");System.out.pritl("Total cout: " + page.getTotal()); // 要获取总记录数,实际上查询了两次for (User user: page) { System.out.pritl(user);}hydroge-dao是一个Java的轻量级的数据库访问库,依赖标准的JDBC接口。下面是一个使用例子:
查询记录DAO dao = getDAO();List userList = dao.query( User.class, // 包装类 "select * from USER where NAME like ? ad ROLE=?", // 语句 "admi%", 3); // 参数for (User user: userList) { System.out.pritl("user ame: " + user.getName());}执行事务fial DAO dao = getDAO();DAO.ruTrasactioWithExceptio(ew Ruable() { // 所有事务都以 Ruable 的方式执行,简单明了 public void ru() { dao.execute("isert ito USER(id,ame) values(?,?)", 1, "user1"); throw ew Exceptio(); // 之前的 isert 将会回滚,同时异常抛出 }});使用方法参考WIKI。










评论