国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

解決mybatis plus字段為null或空字符串無法保存到數據庫的問題

瀏覽:90日期:2023-10-19 18:27:07
背景

項目中集成了mybatis plus, 今天在做后臺的一個常規的增刪改查時,發現字段值為null時,這個字段不會被保存到數據庫

解決辦法

在字段上加上

@TableField(strategy = FieldStrategy.IGNORED)

strategy字段更新插入策略屬性說明:

IGNORED(0): “忽略判斷”, 所有字段都更新和插入

NOT_NULL(1): “非 NULL 判斷”, 只更新和插入非NULL值

NOT_EMPTY(2): “非空判斷”, 只更新和插入非NULL值且非空字符串

另外一種方式可全局配置,未親手實踐。

補充:Mybatis查詢數據部分字段顯示為null,怎么轉成空串('')

1、先定義一個handler,來把字段為null的轉成空串('')

2、在Mapper.xml中,把可能為空的字段,加上typeHandler屬性,指定處理的handler類的全路徑。

CustomStringTypeHandler.java

package com.wang.common.mybatis.handler;import org.apache.ibatis.executor.result.ResultMapException;import org.apache.ibatis.type.BaseTypeHandler;import org.apache.ibatis.type.JdbcType;import org.apache.ibatis.type.MappedJdbcTypes;import org.apache.ibatis.type.MappedTypes;import java.sql.CallableStatement;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/** * @Name: CustomStringTypeHandler * @Desc: 自定義mybatis處理類,將null返回為空串(‘’) * @Author: Administrator * @Date: 2019-09-03 18:20 */@MappedTypes({String.class})@MappedJdbcTypes(JdbcType.VARCHAR)public class CustomStringTypeHandler extends BaseTypeHandler<String> { @Override public String getResult(ResultSet rs, String columnName) { String result; try { result = getNullableResult(rs, columnName); } catch (Exception e) { throw new ResultMapException('Error attempting to get column ’' + columnName + '’ from result set. Cause: ' + e, e); } return result; } @Override public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException { ps.setString(i, parameter); } @Override public String getNullableResult(ResultSet rs, String columnName) throws SQLException { return rs.getString(columnName) == null? '' : rs.getString(columnName); } @Override public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException { return rs.getString(columnIndex) == null? '' : rs.getString(columnIndex); } @Override public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { return cs.getString(columnIndex) == null? '' : cs.getString(columnIndex); }}

Mapper.xml

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd'><mapper namespace='com.wang.sss.fw.mapper.BusinessTripMapper'> <resultMap type='com.wang.sss.fw.pojo.BusinessTrip'> <result column='REQUEST_ID' jdbcType='VARCHAR' property='requestId' /> <result column='JOB_NUMBER' jdbcType='VARCHAR' property='jobNumber' /> <result column='REQUEST_DATE' jdbcType='VARCHAR' property='requestDate' /> <result column='DEPARTMENT' jdbcType='VARCHAR' property='department' /> <result column='BUSINESS_DAYS' jdbcType='VARCHAR' property='businessDays'/> <result column='CFD' jdbcType='VARCHAR' property='cfd' /> <result column='MDD' jdbcType='VARCHAR' property='mdd' /> <result column='START_TIME' jdbcType='VARCHAR' property='startTime' /> <result column='END_TIME' jdbcType='VARCHAR' property='endTime' /> <result column='REASON' jdbcType='VARCHAR' property='reason' typeHandler='com.wang.common.mybatis.handler.CustomStringTypeHandler'/> <result column='REMARK' jdbcType='VARCHAR' property='remark' typeHandler='com.wang.common.mybatis.handler.CustomStringTypeHandler'/> </resultMap></mapper>

沒有加typeHandler屬性,處理之前的查詢結果:

BusinessTrip(requestId=11925, jobNumber=5721, requestDate=2019-05-06, department=57, businessDays=21, cfd=上海, mdd=南京, startTime=2019-05-06 13:36, endTime=2019-05-07 13:36, reason=null, remark=null)

增加typeHandler屬性,處理后的結果:(reason和remark字段都變成了空串)

BusinessTrip(requestId=11925, jobNumber=5721, requestDate=2019-05-06, department=57, businessDays=21, cfd=上海, mdd=南京, startTime=2019-05-06 13:36, endTime=2019-05-07 13:36, reason=, remark=)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 欧美一级特黄特黄毛片 | freex性日韩 free性chinese国语对白 | 亚洲第十色| 黄色成人在线网站 | 国产精品中文字幕在线观看 | 国产图片亚洲精品一区 | 精品国产一区二区三区四区不 | 请看一下欧美一级毛片 | 91人成亚洲高清在线观看 | 操操综合网 | 最近中文字幕精彩视频 | 久久久久无码国产精品一区 | 国产一区三区二区中文在线 | 亚洲综合免费 | 国产精品手机在线观看 | 久草视频免费 | 日韩欧美中文字幕在线视频 | 亚洲影院手机版777点击进入影院 | 九九热精品在线 | 日韩区在线 | 国产情侣无套精品视频 | 日韩一区国产二区欧美三区 | 国产精品7m凸凹视频分类大全 | 欧美日韩永久久一区二区三区 | 免费国产成人 | 国产精品一区二区三区久久 | 武松金莲肉体交战在线观看 | 怡红院在线观看视频 | 中文字幕巨乱亚洲 | 国产日韩欧美自拍 | 欧美成人精品三级网站 | 免费男女乱淫真视频播放 | 国产一级做a爰片在线看免费 | 欧美国产在线观看 | 久久精品成人一区二区三区 | 免费看特级毛片 | 国产微拍精品福利视频 | 国产 一二三四五六 | 国产一区二区三区精品视频 | 亚洲精品久久玖玖玖玖 | 正能量www正能量免费网站 |