Memory 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Memory 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache
开发语言: Java
操作系统: 跨平台
收录时间: 2015-05-17
提 交 者: 时与光

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

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);
 }
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Memory 的相关资讯

还没有任何资讯

Memory 的相关博客

out of memory

想要成为架构师, 要是连内存泄露都解决不了, 那你还不够格, 回家再练练吧. java的内存泄露, 基本大家在工作中基本都会用到, 作...

Memory Management

Page Frame Management Page Descriptors The kernel must keep track of the status of each page frame. /* * Each physica...

.net下的span和memory

.net core 2.1的重头戏就是性能,其中最重要的两个类就是span和memory,本文这里简单的介绍一下这两个类的使用。 什么是 Span...

Out of Memory PermGen

再遇到这个问题有必要总结一下。 这个问题在eclipse开发过程后中简称能够遇到。问题的含义是老生代的内存不足了。那么遇到这个...

Out of Memory Error

Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者...

storage和memory

memory:使用的是值传递,默认使用的是memory,传递的是值 storage:引用传递,传过来的是指针,后面一定要加上internal,private ...

How Memory is being used

To determine what plans are in the cache and how often they're used we can use sys.dm_os_memory_cache_counters dm vie...

Memory 的相关问答

评论 (18)

加载中
打分: 力荐
不错
2017/02/25 12:28
回复
举报
最好是借鉴sql2o,还能兼容多种数据库,dbutile太老了 #Memory#
2015/05/18 07:58
回复
举报
不知道在兼容其他数据库方面怎么样 #Memory#
2015/05/18 08:56
回复
举报
值得尝试下 #Memory#
2015/05/18 09:31
回复
举报
memory #Memory#
2015/05/18 09:35
回复
举报
放到github上兴许关注的人会多些 #Memory#
2015/05/18 09:43
回复
举报
时与光软件作者
先放在github上上,https://github.com/bitprince,应红薯老大的要求,也放在gitosc上。memory数据库兼容方面,仅在mysql和oracle项目用过。 #Memory#
2015/05/18 09:51
回复
举报
性能如何啊 #Memory#
2015/05/18 11:18
回复
举报
轻量级,限定应用场景,性能要求不要太多了,相对好点就行了, #Memory#
2015/05/18 12:13
回复
举报
postgresql,DB2,Sybase,SQL Server这些主流数据库要尽快支持 #Memory#
2015/05/18 12:33
回复
举报
更多评论
18 评论
290 收藏
分享
返回顶部
顶部