ORACLE读写CLOB(oracle存储XML文件)

本文介绍如何将XML文件内容写入Oracle数据库的CLOB字段,并从中读取数据。通过使用Hibernate框架和PreparedStatement来实现XML数据的安全存储及检索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把一个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<String> list=new ArrayList<String>();
try {
	SessionFactory factory=this.getHibernateTemplate().getSessionFactory();
	Session	session = 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);
	ResultSet	rs= stmt.executeQuery();
	while (rs.next()) {
		String res=rs.getString(1);
		list.add(res);
	}

rs.getString(1),这个方法里面的参数,取决于你要执行的sql返回字段的位置,不能随便写。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值