当前位置: 技术问答>java相关
@@@@@@@@@@@@@@用Entity Bean怎么操作clob字段?成功就给分!!!
来源: 互联网 发布时间:2017-03-15
本文导语: jdbc我知道怎么操作(先select ... update,然后再select...). 但是CMP的ejb怎么操作clob字段呢? 我没办法实例化一个clob对象啊?oracle.sql.CLOB,weblogic.jdbc.rmi.SerialOracleClob 我用oracle.sql.BLOB.empty_lob()一个空clob,写入数据库...
jdbc我知道怎么操作(先select ... update,然后再select...).
但是CMP的ejb怎么操作clob字段呢?
我没办法实例化一个clob对象啊?oracle.sql.CLOB,weblogic.jdbc.rmi.SerialOracleClob
我用oracle.sql.BLOB.empty_lob()一个空clob,写入数据库,然后我再findByPrimaryKey(...),得到ejb对象取出clob,然后再调用clob.getBinaryOutputStream();报空指针错误:(
请高手赐教!!!!(怎么用ejb实现写入clob型数据?)
但是CMP的ejb怎么操作clob字段呢?
我没办法实例化一个clob对象啊?oracle.sql.CLOB,weblogic.jdbc.rmi.SerialOracleClob
我用oracle.sql.BLOB.empty_lob()一个空clob,写入数据库,然后我再findByPrimaryKey(...),得到ejb对象取出clob,然后再调用clob.getBinaryOutputStream();报空指针错误:(
请高手赐教!!!!(怎么用ejb实现写入clob型数据?)
|
首先insert一个empty_clob()
if ((m_CSWJZW!=null)&&(m_CSWJZW.length()!=0)){
StringBuffer sql = new StringBuffer("select CSWJZW from JWCSWJ where CSWJBH='"+m_CSWJBH+"' for update");
Statement stmt1 = conn.createStatement();
ResultSet rs = stmt1.executeQuery(sql.toString());
if (rs.next()) {
oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob(1);
clob.putString(1, m_CSWJZW);
PreparedStatement pstmt = conn.prepareStatement("update JWCSWJ set CSWJZW=? where CSWJBH='"+m_CSWJBH+"'");
pstmt.setClob(1, clob);
pstmt.executeUpdate();
}
stmt1.close();
conn.commit();
}
if ((m_CSWJZW!=null)&&(m_CSWJZW.length()!=0)){
StringBuffer sql = new StringBuffer("select CSWJZW from JWCSWJ where CSWJBH='"+m_CSWJBH+"' for update");
Statement stmt1 = conn.createStatement();
ResultSet rs = stmt1.executeQuery(sql.toString());
if (rs.next()) {
oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob(1);
clob.putString(1, m_CSWJZW);
PreparedStatement pstmt = conn.prepareStatement("update JWCSWJ set CSWJZW=? where CSWJBH='"+m_CSWJBH+"'");
pstmt.setClob(1, clob);
pstmt.executeUpdate();
}
stmt1.close();
conn.commit();
}
|
关注
|
blob clob中,在CMP2.0中,
对应类型不要用java.sql.Blob
用byte[] 类型,代替就没问题了
public abstract byte[] getBlobValue();
public abstract void setBlobValue(byte[] blobValue);
相关贴子
http://expert.csdn.net/Expert/topic/1235/1235304.xml?temp=.751034
对应类型不要用java.sql.Blob
用byte[] 类型,代替就没问题了
public abstract byte[] getBlobValue();
public abstract void setBlobValue(byte[] blobValue);
相关贴子
http://expert.csdn.net/Expert/topic/1235/1235304.xml?temp=.751034