java po类:
private Object labReportBO;

数据库类型:
lab_report_bo JSON;

mapper.xml

<resultMap id="BaseResultMap" type="common.entity.po.ScCountQueue" ><result column="LAB_REPORT_BO" property="labReportBO" jdbcType="OTHER" typeHandler="com.highershine.website.common.converter.JSONTypeHandlerPg" />
</resultMap>#{labReportBO, jdbcType=OTHER, typeHandler=com.highershine.website.common.converter.JSONTypeHandlerPg}

转换器

package common.converter;import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedTypes;
import org.postgresql.util.PGobject;import java.io.IOException;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;/*** @Description:  自定义JsonTypeHandler处理PostgreSQL的JSON数据类型*/
@Slf4j
@MappedTypes(Object.class)
public class JSONTypeHandlerPg extends BaseTypeHandler<Object> {//引入PGSQL提供的工具类PGobjectprivate static final PGobject JSON_OBJECT = new PGobject();@Overridepublic void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException {JSON_OBJECT.setType("json");try {//java对象转化成json字符串JSON_OBJECT.setValue(new ObjectMapper().writeValueAsString(parameter));} catch (IOException e) {log.error("JSONTypeHandlerPg.setNonNullParameter出错!", e);}ps.setObject(i, JSON_OBJECT);}@Overridepublic Object getNullableResult(ResultSet rs, String columnName) throws SQLException {return rs.getString(columnName);}@Overridepublic Object getNullableResult(ResultSet rs, int columnIndex) throws SQLException {return rs.getString(columnIndex);}@Overridepublic Object getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {return cs.getString(columnIndex);}
}

java中使用pgsql的json类型CRUD相关推荐

  1. 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )

    文章目录 一.Java 中函数参数是接口类型 二.函数参数是接口类型 可以 直接传递闭包 三.完整代码示例 一.Java 中函数参数是接口类型 在 Android 中经常使用如下形式的接口 : 定义一 ...

  2. Java中的8种原始类型

    几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化. 首先,我要介绍有关Java的8种原始类型的所有信息. Ja ...

  3. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  4. Java中的两种异常类型及其区别?

    Java中的两种异常类型及其区别? 参考文章: (1)Java中的两种异常类型及其区别? (2)https://www.cnblogs.com/zxfei/p/11182730.html (3)htt ...

  5. <随笔03>Java中的两种异常类型

    <随笔03>Java中的两种异常类型 参考文章: (1)<随笔03>Java中的两种异常类型 (2)https://www.cnblogs.com/newlyfly/p/744 ...

  6. java中关于输出三角形图案类型题目的思路

    java中关于输出三角形图案类型题目的思路 初学java,在学到循环相关的知识的时候,老师总会拿出一些图形打印相关的题目来让大家来练习,其中比较经典的就是如下类似题目. 这种图形类的题目,只要能做出其 ...

  7. Java中String是个什么类型?

    Java中String是个什么类型 Java中的八大基本数据类型 String 是个什么类型 String常见的方法 Java中的八大基本数据类型 面试官的套路 Java中的数据类型分为四类 1.整型 ...

  8. JAVA中的八种基本类型

    一.JAVA中的八种基本类型 1.数字类型(6种)   ①byte:     占的位数:byte数据类型占八位: 最小值为:-128(-2^7): 最大值为:127(2^7-1): 默认值为:0: 作 ...

  9. java中byte数组与int类型的转换(两种方式)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

最新文章

  1. 網絡問題flapping between port
  2. 手机编程micropython_MicroPython可视化拼插编辑器:让硬件编程更智能!
  3. OpenCV人脸识别LBPH算法源码分析
  4. centos c++ 找不到头文件mysql.h
  5. tesseract-ocr tips
  6. Zoom的Web客户端与WebRTC有何不同?
  7. 灰度值取值范围_第三章 灰度变换与空间滤波-(三)直方图之直方图均衡
  8. vue组件穿方法_vue组件中的数据传递方法
  9. [android] android 获取网络连接信息
  10. 良好的XHTML规则
  11. 2019百度之星程序设计大赛 1005 Seq
  12. c#语言程序设计pdf,C#程序设计及应用教程(第2版)
  13. 怎么把PDF转换成Word格式?
  14. matlab大地坐标与经纬度转换,如何把经纬度转化为大地坐标
  15. swift学习之数组、字典和字符串
  16. wtl单文档选项_[翻译]WTL开发者指南 第1章 WTL概述
  17. 认识微型计算机 ppt,认识微型计算机(PPT课件).ppt
  18. 一个简单的俄罗斯方块实现
  19. 三、Hive数据仓库应用之Hive数据操作语言(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)
  20. cad计算机在哪,Win7系统中cad临时文件保存在哪里

热门文章

  1. SLAM算法中的数据关联问题
  2. group by很多字段是不是会很慢_3分钟短文 | MySQL在分组时,把多列合并为一个字段!
  3. C开源hash代码uthash的用法总结(2)
  4. php 两位小数包含0,PHP保留两位小数 - osc_8dm0sbbd的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. C++:求区间内最大的因子和
  6. MySQL学生人数统计小案例
  7. ae制h5文字动画_AE文字拉伸动画如何制作
  8. GPU Raycasting的两种实现方法
  9. 各种移动GPU压缩纹理的使用方法
  10. plsql developer如何创建新用户(users)