spring JDBC 查询没有目标的方法

本文介绍了使用 Spring JDBC 进行数据库操作的方法,包括增删改查等基本操作,并详细展示了如何处理查询过程中可能出现的异常。

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

在之前的项目中,因为边学边用spring框架,顺便也去学和用spring JDBC 框架。

总结一下:

增加,删除,修改 都是用的是update方法

/**增加,删除,修改
	 * @param sql sql语句
	 * @param agrs	参数
	 * @return 
	 */
	public boolean updateOpr(String sql,Object ...agrs){
		//rows是影响的行数,>0表示成功
	int rows = 	jdbcTemplate.update(sql, agrs);
	if(rows>0)
		return true ;
	else 
		return false;
		
	}

对于查询:

// 查询得到一个对象
	/**
	 * @param sql
	 * @param rowMapper 
	 * @param args 参数
	 * @return  返回对象
	 */ 
	public <T> T selectforObjectNoExe( String sql,RowMapper<T> rowMapper,
			Object... args) {
		return jdbcTemplate.queryForObject(sql, rowMapper, args);
	}

返回的是一个泛型

但是这个查询,如果没有查询到对象,它会报一个DataAccessException异常,所以,如果确定查询的时候会查询不到对象,需要用try{}catch(){}来捕捉异常,并进行判断,如果是该异常,返回为null,再在上层判断,如果是null,则进行怎么样的处理

// 得到一个对象,可能为空
	public <T> T selectforObject( String sql,RowMapper<T> rowMapper,
			Object... args) throws Exception {
		try {
			return jdbcTemplate.queryForObject(sql, rowMapper, args);
		} catch (Exception e) {
			e.printStackTrace();
			if (e instanceof DataAccessException){
				log.error("查询对象为空");
				return null;
			}
			throw e;
		}

	}

前面的 RowMapper<T> rowMapper:

RowMapper<Active> rowMapper = new BeanPropertyRowMapper<Active>(
				Active.class);
Active是实体类,这样,返回的就是一个Active对象





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值