场景重现:
mybatis 在查询的时候,可以返回Map,但是一旦这个字段为空(null)的时候,map里就没有了。我用的是mysql数据库,除了在查询语句上做ifnull判断给它默认值外,有没的别的其他办法,让他就算值为空(null)l也要保存在map中给我返回来
解决方案一(现在个人推荐这种做法,省时省力):
在mybatis的配置文件中加入,mybatis必须3.2版本以上
····
···
解决方案二:
在查询语句上做ifnull判断给它默认值外,有没的别的其他办法,让他就算值为null也要保存在map中给我返回来
解决方案三:
解决的办法是用实体(bean)去做返回结果的类型(如果是联合查询查询的话,再一个实体里面添加没有的属性即可)。用实体get方法去获取每个值,这样的话,就算 是数据库中是(NULL)值,你也获取到了你想要的null。不过缺点是要定义实体类,好烦麻烦的说(这种方法不推荐,但是公司有人用)
解决方案四:
使用"case when xxx is null then '' else ... end as XXXX"做默认值(我之前的解决方案),
MyBatis开发中解决返回字段不全的问题的更多相关文章
-
mybatis设置callSettersOnNulls解决返回字段不全的问题
Spring+MyBatis开发过程中,在xxMapper.xml配置文件进行select查询时resultType="map",如果要查询的字段是空值,在返回的map中会出现找不 ...
-
SpringMVC+MyBatis开发中指定callSettersOnNulls,可解决返回字段不全的问题
Spring+MyBatis开发过程中,在xxMapper.xml配置文件进行select查询时resultType="map",如果要查询的字段是空值,在返回的map中会出现找不 ...
-
mybatis开发注意事项:字段名称以及表名
在使用mybatis开发中,数据库设计的时候字段名称最好不要带下划线,推荐使用驼峰命名法 数据表的名称第一个字母大写
-
开发中解决Access-Control-Allow-Origin跨域问题的Chrome神器插件,安装及使用
背景: 笔者在用cordova开发安卓程序的时候在安卓设备上不存在跨域问题,但是在浏览器端模拟调试的时候却出现了Access-Control-Allow-Origin跨域问题,报错如下 No 'Acc ...
-
Java开发中解决Js的跨域问题
主流方法有JSONP和CORS两种,这里记一下后者的方式,理论基础就是在请求的时候在http请求头中添加如下属性: //指定允许其他域名访问 Access-Control-Allow-Origin:h ...
-
keystonejs开发中解决bug--版本要对应
今天要调试bug,先说明一下背景!有需求要修改keystonejs的后台管理页面,然后是看官方文档知道后台管理也是react+redux.然后为了加强后台管理页的功能(如汉化),然后将keystone ...
-
springmvc框架开发中解决产生的乱码情况
一:解决post请求方式产生的乱码情况 示例代码如下: <!-- 解决post乱码 --> <filter> <filter-name>CharacterEncod ...
-
android开发中 解决服务器端解析MySql数据时中文显示乱码的情况
首先,还是确认自己MySql账户和密码 1.示例 账户:root 密码:123456 有三个字段 分别是_id .username(插入有中文数据).password 1)首先我们知道 ...
-
MVC开发中自定义返回类型
在做项目web的MVC中,会用到返回值的问题,我们一般使用AjaxResult的返回值,根据自己的需要进行自定义,如下参考: using System; using System.Collection ...
随机推荐
-
ABP框架 - 依赖注入
文档目录 本节内容: 什么是依赖注入 传统方式的问题 解决方案 构造器注入模式 属性注入模式 依赖注入框架 ABP 依赖注入基础 注册依赖 约定注入 辅助接口 自定义/直接 注册 使用IocManag ...
-
使用httpclient 调用selenium webdriver
结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver ...
-
jquery 让滚动条处于div底部
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
-
php中一串数子的转化
echo "<meta charset=utf-8>"; echo "笔试题测试"; $str = "123456780"; $ ...
-
Mod 与 RequireJS/SeaJS 的那些事
本文的目的是为了能大让家更好的认识 Mod,之所以引入 RequireJS/SeaJS 的对比主要是应大家要求更清晰的对比应用场景,并不是为了比较出孰胜孰劣,RequireJS 和 SeaJS 都是模 ...
-
xTree学习
1.XTREE简介: XTREE是一个基于AJAX实现的树形菜单.它的原理就是每次都只加载当前结点下的所有结点,而对开发人员来说,就是只需要按一定的格式,生成一段XML代码.XTREE可以自己定制每个 ...
-
Webpack 2 视频教程 017 - Webpack 2 中分离打包项目代码与组件代码
原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...
-
【BZOJ3924】幻想乡战略游戏(动态点分治)
[BZOJ3924]幻想乡战略游戏(动态点分治) 题面 权限题...(穷死我了) 洛谷 题解 考虑不修改 发现一个贪心的做法 假设当前放在当前位置 如果它有一个子树的兵的总数大于总数的一半 那么,放到 ...
-
2019-泰迪杯c题数据处理,WGS-84(世界标准地理坐标系) 转为 BD-09(百度地理坐标系)
2019-泰迪杯c题数据处理,WGS-84(世界标准地理坐标系) 转为 BD-09(百度地理坐标系) 本次泰迪杯的数据为经纬度数据,并且题目给的是WGS-84(世界标准地理坐标系)格式的,所有如果调用 ...
-
css实现半圆和圆
1.半圆 半圆分为:上半圆.下半圆.左半圆.右半圆,我们只要学会制作某一个方向的半圆,其他方向的半圆都可以轻松实现,其原理都一样. 假如我们要制作上半圆,实现原理:把高度height设置为宽度widt ...