mybatis数据库字段增加
http://zhanghteye.iteye.com/blog/2372572
今天处理一个生产环境报NullPointerException的问题,根据查询的对象,获得对象中的一个字段,结果为空。
报错位置:int partnerCode = servicefeeRecord.getPartnerCode().intValue();
(注:本身这直接取字段不判断是否为空,就获得它的int值。写法本身就有点问题,虽然业务上这个字段一定存在。)
定位问题步骤:
1、查看生产数据库,对象对应的数据改字段是有值的。
为啥没查出来?继续找问题。
2、从源头定位起,从查询对象的service方法,找到dao方法,再找到mapper文件里面的查询sql。
sql查询字段中并没有包括需要的字段。
原来问题在此,那怎么会有这个坑呢?
3、根据最近了解的其他人做相关需求的变动,原来在于有同事做需求拓展时,只在数据库表增加该字段、在实体bean增加该字段,mapper文件中的sql查询,没有增加改字段导致。
总结:
1、原本很简单的问题,却花费大半个小时来处理问题,以及帮别人填坑,实属无奈。
2、开发人员工作的严谨性,相当重要,如果考虑不全,不单单影响到自己,甚至影响到其他人。
3、基于Mybatis的应用:数据库表增加一个字段,还要改哪些地方?
a、写sql脚本修改表结构
b、实体bean增加对象
c、mapper中所有涉及查询整个对象字段的sql,都需一一添加对应的新增字段
d、mapper配置中涉及整个对象的查询尽量采用以下方式:
<sql id="queryColumns">
Column1,Column2,Column3,....
</sql>
<select id="查询方法名称" resultMap="返回结果对象">
SELECT
<include refid="queryColumns" />
FROM
...
</select>
这样很多类似查询,都是引用queryColumns,到时只需改一个地方即可。
mybatis数据库字段增加相关推荐
- 当mybatis逆向工程遇上了数据库字段增加
最近做的一个项目让我对mybatis的逆向工程有些迷茫,毕竟第一次在实际项目中使用,有太多稚嫩,老人路过还请指教. 对于mybatis的逆向工程,我既喜欢它让我省了很多力气,但是另一方面,它也给我套了 ...
- tp新增mysql字段_tp数据库字段增加 mysql设置某字段自增
tp5导入Excel表实现修改或者添加数据库一个字段? 1.首先在SQL Window窗口中,查询需要导出的数据. 2.在查询的结果集上(注意不要选中任何一个行或者单元格)右键--[Copy to E ...
- 给数据库字段增加前缀
update users set mobile = concat('86-', mobile)
- Mybatis 解决数据库字段名和实体类属性名不一致问题
一.问题描述 1.1 查询 password 字段为 null 现象 数据库字段名: 实体类属性名: @Data @NoArgsConstructor @AllArgsConstructor publ ...
- MyBatis入门实例-包括实体类与数据库字段对应CLOB字段处理
1.我的开发环境是 jdk1.7+ecplise+oracle 11g 用到的jar包:mybatis-3.1.1.jar ojdbc6.jar 2.项目整体结构 3.首先配置conf.xml文件 [ ...
- springboot+mybatis+新加属性自动加数据库字段
由于最近的项目老是修改,需求变一下,其他同事改了对象,别的同事表里又没有添加该字段,每次更新项目都得去看有没有新添加sql,领导觉得麻烦,让我找找有没有没有什么注解可以标在上面,新加的对象属性自己去生 ...
- oracle to_char 和 to_date的区别,斜杠和横杠日期转换,mybatis中入参日期,数据库字段是date的写法
文章目录 斜线日期转换为横线 这样的时间字符串如何转换20201212040506258 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 mybatis中入参日期,数据库字段是date ...
- springboot+mybatis数据库中字段带下划线自动转换成实体
当数据库字段使用xxx_bbb的时候java中的实体类遵照命名规则来说不应该出现下划线 所以使用springboot集成mybatis的时候很简单的就可以吧数据库的下划线字段映射成不带下划线的 xxx ...
- oracle删除表的一个字段的数据库,学会Oracle数据库删除表字段和Oracle数据库表增加字段方法...
Oracle数据库添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); Ora ...
- java 实体类中增加非数据库字段,同时兼容mybatis-puls与jpa
原先项目使用的是 jpa + mybatis 来做持久层 ,jpa做增删改操作,mybatis做查,后来发现mybatis-puls也挺香的然后就把puls放了进来. 遇到的问题: 在实体类中加非数据 ...
最新文章
- hadoop部署单机
- js将百度坐标转为wgs84
- java Flink使用addSink方法保存流到mysql数据库中
- 深入剖析 Sharepoint 企业项目管理与 SharePoint(转)
- 地表反照率数据、地表净辐射通量、太阳辐射数据、地表温度、地表显热通量、NDVI、NPP、土地利用数据
- 欧姆龙CP1H的PLC步进功能图编程实例
- 如何把word默认新建文档的格式样式更改为常用的格式样式呢
- ad 原理图放置差分对_Altium Designer差分对设置方法
- 计算机的大于键盘哪里,怎样在键盘上打出大于等于号,小于等于号?键盘大于等于号怎么打?...
- 计算机二级电子表格使用技巧36种,Excel表格中最经典的36个小技巧,全在这儿了...
- 【C++】gcd函数的写法
- iOS 打开AppStore指定app下载页
- 政府赠予固定资产或者捐赠资金的会计分录
- 网络原理之TCP/UDP协议
- S5PV210-裸机中断
- GCP: IAM的使用
- [漏洞预警]交易所漏洞之薅羊毛分析
- 对element-UI 的表格进行自定义的修改
- IPv6+5G校园 | 智慧校园建设应该注意哪些问题?
- iphone x性能测试软件,iPhone - 电池性能测试信息 - Apple (中国大陆)