mybatis数据库字段增加

Mybatis 注解开发 + 动态SQL Hello 大家好我是橙子同学,今天分享注解Mybatis注解开发+动态sql目录每文一铺垫(今天有小插曲哦)注解开发添加?@Insert删除?@Delete查询?@Select修改?@Update实现结果集封装??@Result???实现一对一结果集封装?@one???实现多对多结果集封装 @Many ?动态SQL???标签? ???标签???标签???标签???标签?收尾先说一个小插曲,因为 橙子同学确实是快要找实习了,这几天宅在家就想着试试水,毕竟没接触过,也不知道这个圈子的包容性强不强,今天早晨可能 阅读详情

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创建一个或多个新用户 insert 字段和表名不确定时动态添加问题 主要介绍了mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下 立即下载

相关推荐

在不同版本Python中安装PyQT5及PyQT5-Tools

在不同版本Python中安装PyQT5及PyQT5-Tools

zoomgu680的博客 2万+

基于Mybatis的应用:数据库表增加一个字段,还要改哪些地方

今天处理一个生产环境报NullPointerException的问题,根据查询的对象,获得对象中的一个字段,结果为空。   报错位置:int partnerCode = servicefeeRecord.getPartnerCode().intValue(); (注:本身这直接取字段不判断是否为空,就获得它的int值。写法本身就有点问题,虽然业务上这个字段一定存在。)   定位问题步...

kman2010的博客 6570

爬虫小例--爬药监局(上)

”明月如霜,好风如水,清景无限 “ 文远最近也算是爬虫入门吧,相信后面会慢慢熟悉。 壹 直接上例子,爬取药监局的数据。目的是得到每家公司的详情数据,例: 具体网址:http://scxk.nmpa.gov.cn:81/xk/ 这是主页,下面详情信息: 贰 分析,通过网页检查发现,主网页上没有公司相关数据,观察XHR中的Ajax请求发现,公司信息都是动态数据(方便更新),点击发现每个公司 的详情信息通过ID号这个参数区别,那么可以确定思路是先得到每个公司的ID号,然后在通过ID对应每一个详细网站,同样右键

john_ashley的博客 4556

【Mybatis】动态增加删除字段以及update时遍历map对象

项目中需要动态增加和删除字段,并上传对应的数据,以下是代码记录 1.动态增加、删除字段 mapper.xml <!--修改表结构,增加列--> <update id="AlterTableAddField"> ALTER TABLE population_info ADD (${columnName} VARCHAR(255) NOT NULL DEFAULT '0') </update> <!--修改表结构,删除

DJames23的博客 7882

LTSPICE使用教程:导入第三方库模型进行仿真

LTSPICE导入第三方SPICE模型进行仿真,以英飞凌的第三方.lib模型为实例进行详解

焊武大帝的专栏 3万+

海洋与地质地理信息数据下载网站汇总集锦

各种海洋与地质地理信息数据集合

qq_36980284的博客 1269

MyBatis中字段自加1(update更新原来的值加1运算)

<update id="addCount"> update album set count=count+1 where id=#{id} </update>

Zarathusa的博客 4万+

SPD5 集线器协议内容解析

​ 若不同SPD5 Hub后面的本地侧设备同时发送请求,则是22和23、24的混合过程,先通过LID裁决,再通过HID裁决,这里的LID是本地设备的,若LID一致,则看HID,由于SPD5 Hub的本地侧设备HID均为111,因此实际上是比较SPD5 Hub的HID,这个过程在前文提到,SPD5 Hub会转换HID。​ 若MR27[4]=1且MR27[3:0]=1,如果MR51[3:0]=1时,发送IBI,并且MR48[7]置1,将GETSTATUS CCC的待处理中断位[3:0]更新为0001。

weixin_50591344的博客 3860

当mybatis逆向工程遇上了数据库字段增加

最近做的一个项目让我对mybatis的逆向工程有些迷茫,毕竟第一次在实际项目中使用,有太多稚嫩,老人路过还请指教。 对于mybatis的逆向工程,我既喜欢它让我省了很多力气,但是另一方面,它也给我套了个框框,遇到非要加字段的情况时,就很难受。 个人最讨厌的就是照着数据库的字段一个一个的敲,实在不愿意做这种无聊的搬运工作,相信大家也不会喜欢。这个时候逆向工程就派上用场了,它生成了pojo和map

D的博客 4252

YOLOv11【第三章:高阶应用与落地篇·第7节】多任务联合训练(Multi-Task Learning):检测+分割+关键点三头并进!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 730

PyTorch深度学习实战(36)——Pix2Pix详解与实现

Pix2Pix 是基于生成对抗网络的图像转换框架,能够将输入图像转换为与之对应的输出图像,能够广泛用于图像到图像转换的任务,如风格转换、图像修复、语义标签到图像的转换等。Pix2Pix 的核心思想是通过对抗训练将输入图像和目标输出图像进行配对,使生成网络可以学习到输入图像到输出图像的映射关系。在本节中,将学习使用 Pix2Pix 根据给定轮廓生成图像。

盼小辉丶的博客 1万+

Java MyBatis执行对数据库 增加&修改操作(修改全部字段&修改部分字段)

Java MyBatis执行对数据库 增加&修改操作(修改全部字段&修改部分字段)

阿博的博客 3693

光学传播仿真软件:SPEOS_(14).建筑物内光环境仿真

在建筑物内光环境仿真中,材料属性的定义直接影响光的传播和反射效果。SPEOS提供了丰富的材料库,但也可以自定义材料属性以满足特定需求。创建新材料选择Materials->。输入材料名称和类型。配置材料属性选择材料对象,打开属性编辑器。设置反射率、透射率、表面粗糙度和颜色。# 导入SPEOS模块# 创建新材料# 配置材料属性custom_material.set_reflectivity(0.8) # 设置反射率为0.8。

kkchenjj的博客 1249

Mybatis plus @TableName实体中添加非数据库字段报错,如增加请在字段上加注解 @TableField(exist = false)

Mybatis plus @TableName实体中添加非数据库字段报错,如增加请在字段上加注解 @TableField(exist = false)   否则会出现以下异常: ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown colu...

赛赛 3万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java 实体类中增加非数据库字段,同时兼容mybatis-puls与jpa

java 实体类中增加非数据库字段,同时兼容mybatis-puls与jpa

qq_44021541的博客 4963

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

mybatis include refid="Base_Column_List"含义

<sql id="Base_Column_List" > collegeID, collegeName </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > select ...

Shirley的博客 2万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

mybatis mapper查询结果为NULL 复制出sql执行有结果

这是由于数据库字段增加。实体类,和mapper没有更新。

x1321362731的博客 2641

Mybatis_设置数据库下划线字段名自动匹配JavaBean驼峰属性名

文章目录问题描述解决方法配置文件增加配置项配置类中增加配置方法 问题描述 数据库中字段名经常含有下划线,比如dept_no,dept_name等等,而在JavaBean中对应的属性通常是遵从驼峰命名原则,deptNo,deptName,这样在查询SQL中得到的结果就不能自动转换成Javabean对象。 解决方法 配置文件增加配置项 <configuration> <sett...

Chill Lyn 1875

mybatis数据库信息使用配置文件,数据库字段使用驼峰命名法转换字段

使用配置文件写入数据库信息,然后映射到mybatis文件中 目录结构: 在resources文件夹下新建jdbc.properties文件,写入数据库信息 #数据库配置文件 jdbc-driver=com.mysql.jdbc.Driver jdbc-url-1=jdbc:mysql://127.0.0.1:3306/test jdbc-username-1=root jdbc-passwor...

Tison的博客 3322

返回值增加新字段

有时写项目时会遇到这样的问题,开始数据库没有设计好,忽然要增加查找的新内容,这时又不能改数据库。 可以在实体类中增加新字段,然后 mybatis中设置其他表中相对性的字段 sql语句中添加左连接   left join (select * from(select * from HANDLE_RECORD  ORDER BY record_date DESC) where r

qq_39493105的博客 945

java map insert sql_oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert...

最近做项目遇到一个挺纠结的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰。先来看一下最终我是怎么实现的:INSERT INTO tg_fcst_lines(${lineColumn})select result.*,sq_fcst_lines.nextval from(]]>(select#{_value}from dual)...

weixin_34026053的博客 454

Spring-Web - 数据库 字段加密 解密

mybatis ,Spring ,mysql 加密 解密

黄裳博客 2815

mybatis-plus中金额相关字段更新操作

mybatis中数值计算利用数据库直接更新

weixin_41905047的博客 947

mybatis include refid="xxxx"的含义

<sql id="Base_Column_List" > collegeID, collegeName </sql> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" > select ...

李公子的博客 4万+

Mybatis Map接收数据tinyint(1)类型错误

讲述Mybatis使用Map接收返回数据时,tinyint(1)类型数据自动转换成 Boolean类型 导致返回类型错误 问题处理方案

csdn565973850的博客 808

MyBatis-Plus saveBatch保存太慢解决办法

mybatis-plus调用saveBatch方法保存慢的解决办法 主要有两个因素,具体可查看文章

暮雪寒寒的随手记 7333
上一篇: nginx与tomcat负载均衡
下一篇: Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
err118
博客等级 码龄14年 6粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值