当前位置: 首页 > 知识库问答 >
问题:

Clob对象数据为空

邢骏
2023-03-14

我有一个超过5000个字符的字符串,我想用MyBatis将其保存为XMLTYPE。为此,我做了以下工作:

我在将字符串转换为CLOB时遇到了问题。

如果以第一种方式进行,则创建的CLOB对象是一个SerialClob有3个字段:BUF、LENG和CLOB;但是在这三个字段中,只有两个字段被填充:BUF(buffer)和LENG,但是CLOB是null。

但是如果我用第二种方法来做,我就创建了完整的CLOB对象和所有的字符串,并且将它保存到数据库中没有问题。但是我创建SerialClob的第一种方法不允许将其保存在XMLType中。

 Clob myClobFile;
    String str = "<myString example></end of example>";

第一种方式:

try
{
   myClobFile=  new javax.sql.rowset.serial.SerialClob (str.toCharArray ());
}

第二种方式:

try
{
    myClobFile= sqlSession.getConnection ().createClob ();
    myClobFile.setString (1, str);
 }

共有1个答案

益楷
2023-03-14

我资助了一个解决方案:

    public static Clob stringToClob (SqlSession sqlSession, String str) throws SQLException 
    {
            Clob myRet = null;

            try
            {
                myRet = sqlSession.getConnection ().createClob ();
                myRet.setString (1, str);
            }
            catch (SQLException e)
            {
                ...trows
            }
            return myRet;
    }

我使用这个解决方案是因为在调试代码时,在数组应该所在的部分(在clob中),它是一个空数组。当试图将位数组格式化为clob,然后将此对象传递给MyBatis时,一定有问题。

 类似资料:
  • 我使用Oracle数据库和驱动程序,我使用从ResultSet获取Clob,然后在方法中将其转换为String:

  • 我有一张甲骨文的桌子。在该表中,列之一是存储clob数据。在clob列中,必须插入对象作为clob。 但是他们在CLOB中添加了字符串。但是我想把我的对象添加到CLOB中。有可能吗? 提前感谢你的帮助。

  • 我有一个Oracle表,其中列类型为CLOB。我想保留列顺序并将数据类型更改为VARCHAR2。该列只包含文本。 我得到了一个标准的信息: 我们将不胜感激。我已经在这方面工作了一段时间了。如果你有任何问题请告诉我。

  • 问题内容: 我希望能够从Java操作方法中的JSON字符串访问属性。只需说一下即可使用该字符串。下面是该字符串的示例: 在此字符串中,每个JSON对象都包含其他JSON对象的数组。目的是提取ID列表,其中任何给定对象都具有包含其他JSON对象的group属性。我将Google的Gson视为潜在的JSON插件。谁能提供某种形式的指导,说明如何从此JSON字符串生成Java? 问题答案: 我将Goog

  • 在我的控制器类a中,我有以下方法: 问题是当我通过执行发送时: 我得到,就像我没有发送JSON一样。当我将更改为时,控制器工作正常。 正如评论中所建议的那样,我错误地使用了JSON。但是,即使使用了正确的代码,如,代码也不能正常工作。

  • bytes Buffer - 发送的内容。 file String - 要上传的文件的路径。 blobUUID String - Blob数据的UUID。通过 ses.getBlobData 方法来接收数据,