博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决android greenDAO没有默认值default value和没有原始数据类型的问题
阅读量:2240 次
发布时间:2019-05-09

本文共 1002 字,大约阅读时间需要 3 分钟。

大多数android应用开发攻城狮们对greenDAO的威名都有听过,高效,使得它在众多的orm工具中脱颖而出

最近有项目对sqlite效率有要求,所以想到了它,但是中间遇到了如题所述的两个问题

1.在greenDAO generator项目中没有相应的API能设置默认值(default value),例如:

entity.addIntProperty("test").defValue("7");

 

2.greenDAO generator所产生的java实体类和dao类中使用的都是引用数据类型,如:int ->Integer,long->Long等等,使用这个就有个问题,调用者塞入Integer,那就是是null的风险.

查了资料,google之,发现greenDAO的作者不屑于实现两个功能,没办法,浪费了半晌的时间自己修改了源码,打个jar包自己的项目用了,分享之

主要修改了DAOgenerator项目里的Property.java,entity.ftl,dao.ftl这三个文件.

修改后,就可以这样使用:

//test    private static void addNote(Schema schema) {        Entity note = schema.addEntity("Note");        note.addIdProperty();        note.addStringProperty("text").notNull().defValue("\"y\"");        note.addStringProperty("comment");        note.addStringProperty("test");        note.addIntProperty("test3").primJavaType().defValue("7");        note.addIntProperty("test4");        note.addDateProperty("date");    }

 

打好的jar,具体下载地址:http://download.csdn.net/detail/enyusmile/8662249

 

转载于:https://www.cnblogs.com/enyusmile/p/4442271.html

你可能感兴趣的文章
【C++】const修饰的成员函数
查看>>
【C】堆区和栈区的区别
查看>>
【C++】const 指针与指向const的指针
查看>>
【Linux】多线程和多进程 及其应用场景
查看>>
【C++】构造函数中必须通过初始化列表来进行初始化情况
查看>>
【操作系统】系统调用的概念
查看>>
【C++】构造函数、析构函数抛出异常的问题
查看>>
【C++】关于vector<bool>
查看>>
【操作系统】内存碎片产生原因及终极解决办法
查看>>
幂等性验证思想
查看>>
DB理论--数据存储方式
查看>>
PB协议的说明与使用
查看>>
什么是TPS,什么是QPS,区别是什么?
查看>>
git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:
查看>>
arraylist扩容时机java8
查看>>
logback中additivity的理解
查看>>
一篇文章搞懂hash,hashcode,equals,==的用法
查看>>
mysql数据库,悲观锁。for update 的用法。
查看>>
springboot+jta+atomikos多数据源和 springboot+mybatisplus+aop实现数据库读写分离而引发的一些思考
查看>>
java面试中常考的一些面试sql语句
查看>>