当前位置: 技术问答>java相关
高分求教EJB处理ORACLE的CLOB类型的字段
来源: 互联网 发布时间:2017-04-10
本文导语: 如果认为分少,还可以加 | Clob clob=null; if(rs.next()) { clob = rs.getClob(1);//ResultSet rs try{ if(clob!=null) { ...
如果认为分少,还可以加
|
Clob clob=null;
if(rs.next())
{
clob = rs.getClob(1);//ResultSet rs
try{
if(clob!=null)
{
int len=(int)clob.length();
char[] content=new char[len];
int success=clob.getCharacterStream().read(content);//读取clob内容
return new String(content,"GBK");//返回clob的内容
}
}//catch(SQLException e){}
catch(IOException e){}
}
if(rs.next())
{
clob = rs.getClob(1);//ResultSet rs
try{
if(clob!=null)
{
int len=(int)clob.length();
char[] content=new char[len];
int success=clob.getCharacterStream().read(content);//读取clob内容
return new String(content,"GBK");//返回clob的内容
}
}//catch(SQLException e){}
catch(IOException e){}
}
|
将CLOB字段map为java.lang.String类型,在修改weblogic-cmp-rdbms-jar.xml的对应内容就行了。
xml文件的例子见上面,在EJB中的方法声明用setDescription(String s),不要用setDescription(Clob c).
xml文件的例子见上面,在EJB中的方法声明用setDescription(String s),不要用setDescription(Clob c).
|
利用getBytes()可以实现。
|
http://expert.csdn.net/Expert/topic/1235/1235304.xml?temp=.751034
看这个帖子。
看这个帖子。
|
我用byte[]实现Blob,Clob应该也可以
CMP Ejb:
/**
*
*/
public abstract void setAppendix(byte[] appendix);
/**
* @ejb:persistent-field
* @ejb:jdbc-type JAVA_OBJECT
* @ejb:sql-type BLOB
* @ejb:interface-method
*/
public abstract byte[] getAppendix();
CMP Ejb:
/**
*
*/
public abstract void setAppendix(byte[] appendix);
/**
* @ejb:persistent-field
* @ejb:jdbc-type JAVA_OBJECT
* @ejb:sql-type BLOB
* @ejb:interface-method
*/
public abstract byte[] getAppendix();
|
1. In the bean class, declare the variable.
2. Edit the XML by declaring the dbms-column-type deployment descriptor in the weblogic-cmp-rdbms jar.xml file.
description
product_description
OracleClob
2. Edit the XML by declaring the dbms-column-type deployment descriptor in the weblogic-cmp-rdbms jar.xml file.
description
product_description
OracleClob