Android开发——数据库框架Suger遇到的大坑(依据列名查询不到数据解决办法)

JavaBean命名出现大写,数据无法正常存储(用的是Suger第二种操作方式,第一种没有测试)

习惯中对Bean中变量的命名会出现大写字母,但使用Suger操作这样的数据会出现问题,比如我这样命名了一个变量:

@Table
public class HomeItem {@Exposepublic boolean isDelete;public boolean isDelete() {return isDelete;}public void setDelete(boolean delete) {isDelete = delete;}
}

我想对该变量在数据库中的值进行查询:

homeItemLists = Select.from(HomeItem.class).where(Condition.prop("isDelete").eq(0)).list();

该语句表示取出HomeItem表中“isDelete”为“false”的所有数据,注意对布尔类型数据进行查询时“eq()”中写“0”表示“false”,写“1”表示“true”,不能写成这样:

 .where(Condition.prop("isDelete").eq("false"))

结果报错显示找不到“isDelete”,但查询整个表显示出确实有“isDelete”一栏,数据库中有该项栏位却不能赋值更不能依据此栏位查询到数据,这就很矛盾。

处理办法:

方法一:
在Suger ORM官网:http://satyan.github.io/sugar/query.html 最后面有这样一句话:

Property names are not converted currently. So, it'd be the table column names (conversion eg: testUnderscore => test_underscore, which can be obtained by calling StringUtil.toSQLName("testUnderscore")).

所以将“isDelete”写成“is_delete”这么写就可以顺利取出数据:

homeItemLists = Select.from(HomeItem.class).where(Condition.prop("is_delete").eq(0)).list();

方法二:
在给Bean命名时不出现大写字母就可以不操心上述名称转换问题:

@Table
public class HomeItem {@Exposepublic boolean isdelete;public boolean isdelete() {return isdelete;}public void setDelete(boolean delete) {isdelete = delete;}
}
homeItemLists = Select.from(HomeItem.class).where(Condition.prop("isdelete").eq(0)).list();

Android开发——数据库框架Suger遇到的大坑(依据列名查询不到数据解决办法)相关推荐

  1. 关于android开发时,发生Error infalting classa com.baidu.mapapi.map.MapView的解决办法

    1.问题描述:百度地图SDK中 Error: infalting classa com.baidu.mapapi.map.MapView . 2.解决办法:通过1个多小时的上网搜索,最终发现很多网友之 ...

  2. Android开发技术框架和编码规范

    Android开发技术框架和编码规范   2017年11月23日       目录 第一章 绪论.................................................... ...

  3. 19年8月 字母哥 第四章 常用web开发数据库框架 不要用公司网络加载不出来 用热点!!!

    第四章 常用web开发数据库框架 4.1.整合Spring JDBC操作数据 4.2 Spring JDBC多数据源的实现 4.3.Spring JDBC JTA实现分布式事务 4.4.ORM主流框架 ...

  4. Android GreenDao数据库框架

    ## Android GreenDao数据库框架 GreenDao简介 Android平台的对象关系映射工具(ORM) 为关系型数据库提供面向对象的接口 简化数据库操作 ORM框架 所谓ORM框架,即 ...

  5. ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法

    ARCGIS开发中类型XXX在未被引用的程序集中定义的解决办法 分类: ArcGIS ARCGIS开发中出现了这样的错误:类型"ESRI.ArcGIS.DataSourcesRaster.I ...

  6. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...

    ####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...

  7. Mybatis注解开发出现Type interface Mapper.StudentMapper is not known to the MapperRegistry异常解决办法

    Mybatis注解开发出现Type interface Mapper.StudentMapper is not known to the MapperRegistry异常解决办法 在核心配置文件中,配 ...

  8. 记一次mysql数据库转储sql文件到另外一台电脑运行失败的解决办法

    记一次mysql数据库转储sql文件到另外一台电脑运行失败的解决办法 将转储的sql文件中创建触发器相关的语句剪切复制到另外的一份文本,保存重新运行sql文件,成功后在把之前剪切的语句复制过来在运行一 ...

  9. Layui框架下:JS中根据后台查询到的数据动态往div中ul里面动态添加li

    Layui框架下:JS中根据后台查询到的数据动态往div中ul里面动态添加li 先建立好一个div和ul JS代码: $(function () { layui.admin.req({ url: _s ...

  10. android开发三大框架!毕业一年萌新的Android大厂面经,2年以上经验必看

    不是安卓不行了,是你跟不上了 我的很多读者都在反馈说,现在一个岗位可以收到的简历数,是前几年的几倍.我们必须承认,僧多粥少就是 Android 行业的现状,别说初中级工程师,就是高级工程师也是一抓一大 ...

最新文章

  1. ionic3中使用自定义配置
  2. 《统一沟通-微软-技巧》-14-Exchange 2010 With SP1 OWA Integration
  3. html初始模板,CSS初始化模板(HTML+CSS模板)
  4. 程序员偷偷深爱的 9 个不良编程习惯
  5. 项目推进计划表_项目为啥延期之一:计划问题
  6. Apache中配置ASP.NET环境
  7. Tricks(十八)—— 转置 list of lists
  8. 三句话捋清楚java垃圾收集器
  9. 高响应比优先调度算法的模拟(非抢占式C++)
  10. java 学习资料总结
  11. YYText-swift,swift版的YYText,优化了yylabel和yytextview的部分扩展
  12. Linux常用软件包安装工具及配置方法(apt-get, pip, dpkg)
  13. 嵌入式硬件设计:SoC开发、电源设计、人机交互设计
  14. openwrt_ipsec_racoon.init 分析
  15. php guzzlehttp,使用Guzzle执行HTTP请求
  16. struts2框架深入
  17. python爬虫论文参考文献格式_Python爬虫进阶必备 | XX文学加密分析实例
  18. 微信企业号突飞猛进,移步到微为何坐稳移动审批头把交椅
  19. 全球与中国触摸屏IC市场现状及未来发展趋势
  20. Reinforced History Backtracking for Conversational Question Answering论文翻译

热门文章

  1. html 旋转木马 轮播,JS实现旋转木马轮播图
  2. uni-app和H5页面使用支付宝登陆问题解决
  3. 打飞机小游戏html代码,JavaScript用200行代码制作打飞机小游戏
  4. 在东京,月薪25万日元能过上什么样的日子啊
  5. iSCSI服务部署网络存储---共享网络存储设备
  6. 入门级概述光学相干层析(OCT)原理
  7. 如果能重来,我不会选择北漂——初见北京
  8. C#如何输入对号字符串
  9. IDEA 重复执行 updating indices问题
  10. python request 淘宝评论数据简易爬虫