把一个XML文件写入到ORACLE中 :
SessionFactory factory=this.getHibernateTemplate().getSessionFactory();
Session session = factory.openSession();
Transaction tran=session.beginTransaction();
Connection conn=session.connection();
Hibernate.createClob(" ");
long tt=System.currentTimeMillis();
//SEQ_SAVA_LOG.nextval这是一个自增序列
String sql="insert into biz_save_log (resource_id,time_t,massage_clob) values (SEQ_SAVA_LOG.nextval,to_date('"+time+"','yyyy-mm-dd hh24:mi:ss'),?)";
PreparedStatement pstmt= conn.prepareStatement(sql);
//传入的sb就是该XML文件读成的一个String字符串
Reader clobReader = new StringReader(sb);
pstmt.setCharacterStream(1, clobReader, sb.length());
int num = pstmt.executeUpdate();
//根据返回值判断是否执行成功
if (num > 0) {
System.out.println("ok");
} else {
System.out.println("NO");
}
ORACLE读取CLOB字段:
List list=new ArrayList();
try {
SessionFactory factory=this.getHibernateTemplate().getSessionFactory();
Sessionsession = factory.openSession();
Transaction tran=session.beginTransaction();
Connection conn=session.connection();
String sql="select massage_clob from biz_save_log where time_t between" +
" to_date('"+stime+"','yyyy-mm-dd hh24:mi:ss') and " +
"to_date('"+etime+"','yyyy-mm-dd hh24:mi:ss')";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSetrs= stmt.executeQuery();
while (rs.next()) {
String res=rs.getString(1);
list.add(res);
} rs.getString(1),这个方法里面的参数,取决于你要执行的sql返回字段的位置,不能随便写。