用LobHandler读写数据库lob字段

本文介绍了一个使用Java进行数据库操作的例子,包括插入记录到数据库表和从表中加载指定记录的具体实现方式。示例展示了如何利用JdbcTemplate进行SQL语句的预编译设置及执行,同时介绍了处理大对象如CLOB的方法。

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

写:

 

public void insertSnap (final Map<String, String> map) throws DataAccessException {
		final String snapID = idGenUtil.getId("SY_I2_SNAP", "SNAP", map.get("submitorDept"));
		
		String sql = "INSERT INTO SY_I2_SNAP(SNAP_ID, SNAP_TITLE, SNAP_CONTENT, SNAP_SUBMITOR, SUBMITOR_DEPT) " +
				" VALUES(?,?,?,?,?)";
		
		this.getJdbcTemplate().update(sql, new PreparedStatementSetter() {
			public void setValues (PreparedStatement pst) throws SQLException {
				pst.setString(1, snapID);
				pst.setString(2, map.get("snapTitle"));
				lobHandler.getLobCreator().setClobAsString(pst, 3, map.get("snapContent"));

				pst.setString(4, map.get("snapSubmitor"));
				pst.setString(5, map.get("submitorDept"));
			}
		});
	}

 

 

读:

public String loadSnap (final String snapID) {
		
		String sql = "SELECT SNAP_CONTENT FROM SY_I2_SNAP WHERE SNAP_ID='"+snapID+"'";
		
		return (String) this.getJdbcTemplate().query(sql,
			new ResultSetExtractor() {

				public Object extractData(ResultSet rs) throws SQLException,
						DataAccessException {
					rs.next();
					return lobHandler.getClobAsString(rs, 1);

				}
				
			});
		
	}
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值