Memory 介绍
从JDBC的规范上看,其对数据访问层有相当简洁的抽象:1、连接(connection)
2、语句(statement)、3结果集(result set),我们对数据库做的事情无非:连接数据库,执行语句,拿到结果。因此,持久化工具的目的不言自明:
进一步简化连接的管理、语句的执行、结果集提取等操作。
Memory在设计与实现上,都借鉴了Dbutils,其相对于hibernate,mybatis这些庞然大物,已经是一个极其小巧的工具。
但是Memory的类和接口更少(不超过10个),体积更小(只有二十几K),数目和体积都约为dbutils的1/3 ,却添加了非常实用的功能:
代码示例:
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); }
详细可运行的例子,在这里可以看到和下载。
Memory 官网
https://gitee.com/bitprince/memory
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。