达梦数据库+mybatis返回字段转小写
1、开启mybatis驼峰命名规则
-
mybatis:
-
configuration:
-
#使用mybatis驼峰功能将达梦返回字段转小写
-
map-underscore-to-camel-case: true
2、继承MapWrapper
-
-
import org.apache.ibatis.reflection.MetaObject;
-
import org.apache.ibatis.reflection.wrapper.MapWrapper;
-
-
import java.util.Map;
-
-
public class SqlFieldToLowerCase extends MapWrapper {
-
-
public SqlFieldToLowerCase(MetaObject metaObject, Map<String, Object> map) {
-
super(metaObject, map);
-
}
-
-
-
public String findProperty(String name, boolean useCamelCaseMapping) {
-
if (useCamelCaseMapping) {
-
//查询字段转小写
-
return name == null ? null : name.toLowerCase();
-
}
-
return name;
-
}
-
-
-
}
3、实现ObjectWrapperFactory
-
-
import com.alibaba.fastjson.JSONObject;
-
import org.apache.ibatis.reflection.MetaObject;
-
import org.apache.ibatis.reflection.wrapper.ObjectWrapper;
-
import org.apache.ibatis.reflection.wrapper.ObjectWrapperFactory;
-
import org.apache.ibatis.session.Configuration;
-
import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
-
import org.springframework.context.annotation.Bean;
-
import org.springframework.stereotype.Component;
-
-
import java.util.Map;
-
-
-
public class SqlFieldToLowerCaeFactory implements ObjectWrapperFactory {
-
-
public boolean hasWrapperFor(Object o) {
-
return o instanceof Map;
-
}
-
-
-
public ObjectWrapper getWrapperFor(MetaObject metaObject, Object o) {
-
return new SqlFieldToLowerCase(metaObject, (Map) o);
-
}
-
-
/**
-
* 使用该方式object-wrapper-factory: com.demo.config.SqlFieldToLowerCaeFactory
-
* 会报类型转换异常所以使用下面这种方式
-
* @return
-
*/
-
-
public ConfigurationCustomizer mybatisConfigurationCustomizer() {
-
return new ConfigurationCustomizer() {
-
-
public void customize(Configuration configuration) {
-
-
configuration.setObjectWrapperFactory(new SqlFieldToLowerCaeFactory());
-
}
-
};
-
}
-
-
}
注意事项:mybatis返回结果为fastjson:JSONObject类型时,使用该方式将返回字段转小写可能会在遇见达梦数据库字段类型为CLOB、TEXT等类型字段报JSON解析内存溢出
可以尝试在数据库链接上拼接clobAsString=1 或者将字段类型改为varchar
jdbc:dm://127.0.0.1:5236/DEMO?clobAsString=1
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcaief
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01