超轻量级 Java 持久化工具 Memory

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-23 19:42:02

软件介绍

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

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);
 }

详细可运行的例子,在这里可以看到和下载。

本文地址:https://www.codercto.com/soft/d/15251.html

实现领域驱动设计

实现领域驱动设计

Vaughn Vernon / 滕云 / 电子工业出版社 / 2014-3 / 99.00元

领域驱动设计(DDD)是教我们如何做好软件的,同时也是教我们如何更好地使用面向对象技术的。它为我们提供了设计软件的全新视角,同时也给开发者留下了一大难题:如何将领域驱动设计付诸实践?Vaughn Vernon 的这本《实现领域驱动设计》为我们给出了全面的解答。 《实现领域驱动设计》分别从战略和战术层面详尽地讨论了如何实现DDD,其中包含了大量的最佳实践、设计准则和对一些问题的折中性讨论。《实......一起来看看 《实现领域驱动设计》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具