小编cha*_*e f的帖子

将java.lang.String类型映射为Postgres JSON类型

我的问题与以下问题相关:将postgreSQL JSON列映射到Hibernate值类型,尽管当我测试在postgres中将字符串传递给psql时答案有效,但从Java代码传递字符串时却无法解决问题。

我正在使用MyBatis通过Spring注入将sql映射到postgres数据库。

这是MyBatis的Java接口,映射到Postgres JSON列时遇到问题的方法是updateState()方法。

package receiver.spoke;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import receiver.bean.Spoke;

public interface SpokeDAOMyBatis extends SpokeDAO {

    void updateState(@Param("id") long spokeId, @Param("state") String state);

    String getState(@Param("id") long spokeId);

    List<Spoke> getSpokes();

    // The close() method must exist.
    void close();

}
Run Code Online (Sandbox Code Playgroud)

以下是我的映射器类:

<?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="receiver.spoke.SpokeDAOMyBatis">

    <update id="updateState">
        UPDATE 
            spokes 
        SET 
            state = #{state} 
        WHERE 
            id = #{id}
    </update>

    <select id="getState" resultType="java.lang.String" 
            parameterType="long" useCache="false">
        SELECT 
            state 
        FROM 
            spokes 
        WHERE 
            id …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring json mybatis

2
推荐指数
2
解决办法
7913
查看次数

标签 统计

java ×1

json ×1

mybatis ×1

postgresql ×1

spring ×1