赞
踩
1、Mybatis返回值用map接受,对应的value类型就是个clob类型,可以确保不会丢失长度,自带的sql执行器转varchar2的话可能会长度丢失。
2、将map放入工具类(clob类型转String)
- package com.ly.cloud.common.utils;
-
- import java.sql.Clob;
- import java.util.Map;
-
- /**
- * @author QiJingJing
- * @since 2023/9/6
- */
- public class ClobToStringUtil {
- /**
- * 将Map(key,value)中value值类型为Clob的转换为字符串传到前端的工具方法。
- *
- * @param map map
- * @return java.util.Map<java.lang.String, java.lang.Object>
- * @author qijingjing
- * @since 2023/9/6
- **/
- public static Map<String, Object> clobToStringByMap(Map<String, Object> map) {
- if (map == null) {
- return null;
- }
- for (Map.Entry<String, Object> entry : map.entrySet()) {
- Object t1 = entry.getValue();
- if (t1 instanceof Clob) {//将所有Clob类型的字段都转换为String类型
- entry.setValue(clobToString((Clob) t1));
- }
- }
- return map;
- }
-
- public static String clobToString(Clob clob) {
- String result = "";
- try {
- if (clob != null) {
- result = clob.getSubString(1, (int) clob.length());
- }
- } catch (Exception e) {
- //
- }
- return result;
- }
- }

3、这个时候数据就是用String接收的数据了。当然需要vo的形式,将map转为bean即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。