Memory 超轻量级 Java 持久化工具开源项目

我要开发同款
匿名用户2015年05月17日
72阅读
开发技术Java
所属分类程序开发、ORM/持久层框架
授权协议Apache

作品详情

memory:一个比dbutils更小巧、好用的的持久化工具。

从JDBC的规范上看,其对数据访问层有相当简洁的抽象:1、连接(connection)2、语句(statement)、3结果集(resultset),我们对数据库做的事情无非:连接数据库,执行语句,拿到结果。因此,持久化工具的目的不言自明:进一步简化连接的管理、语句的执行、结果集提取等操作。

Memory在设计与实现上,都借鉴了Dbutils,其相对于hibernate,mybatis这些庞然大物,已经是一个极其小巧的工具。但是Memory的类和接口更少(不超过10个),体积更小(只有二十几K),数目和体积都约为dbutils的1/3,却添加了非常实用的功能:

将简单的POJO对象直接持久化到数据库中;

打印运行时出错的SQL语句,其可以直接拷贝到数据库客户端上进行调试;

直截了当的分页查询。

代码示例:

 public static void testCrud() {     /**     * 创建一条记录     */     Product product = new Product();     product.setName("apple");     product.setStock(10);     product.setStatus(true);     product.setCreatedDate(new Date());     System.out.print("入库之前Product没有ID:");     System.out.println(product);     memory.create(Product.class, product);     /**     * 读取这条记录     */     product = memory.read(Product.class, product.getId());     System.out.print("使用CRUD的read方法读取:");     System.out.println(product);     /**     * 换一种方式读取     */     product = memory.query("select * from product where id = ?",         new BeanHandler<Product>(Product.class), product.getId());     System.out.print("使用CQRS的query方法读取:");     System.out.println(product);     /**     * 更新这条记录     */     product.setStock(15);     product.setStatus(true);     product.setCreatedDate(new Date());     memory.update(Product.class, product);     // 查看结果     product = memory.read(Product.class, product.getId());     System.out.print("查看更新结果:");     System.out.println(product);     /**     * 删除一条记录     */     memory.delete(Product.class, product.getId());     // 查看结果     product = memory.read(Product.class, product.getId());     System.out.print("查看删除结果:");     System.out.println(product); }
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论