queryForMap执行结果为空或数据大于一条时会抛异常,封装queryForMap的源码中规定了它的执行结果只能且必须是一条数据,否则就抛异常,所以只有在确定查询结果有且只有一条数据的时候使用;因为此方法的局限性太大,而且很容易就会犯这种错,所以建议使用queryForList 比如可以这样写
public Map<String, Object> aaa(String ord_id) { String sql = loadSQL("qwer"); MapSqlParameterSource paramSource = new MapSqlParameterSource().addValue("ord_id", ord_id); List<Map<String,Object>> list = jdbcdao.getNamedParameterJdbcTemplate().queryForList(sql, paramSource); if(list.size() > 0){ return list.get(0); }else{ return null; } }
相关推荐
这些方法都可以在查询结果为空或查询结果大于 1 行时抛出异常。 query 方法: * query(String sql, RowMapper rowMapper):将查询结果转换为 List 集合 * query(String sql, RowMapper rowMapper, int rowNum):将...
// 处理异常 } ``` 2. **事务管理**: - **原则**:合理使用事务可以确保数据的一致性和完整性。 - **建议**:对于涉及多个操作的业务逻辑,使用事务来包裹这些操作,确保原子性。 - **示例**:通过`...
如果查询结果为空或者出现异常,则会抛出异常。 ##### 2. `queryForObject()` 此方法用于执行返回单行单列数据的SQL语句。例如,查询某个用户的姓名: ```java String name = (String) jdbcTemplate....
5. `queryForMap(String sql)`:这个方法执行查询并返回第一行数据作为Map对象,键是列名,值是列值。适用于简单的单行查询。 6. `queryForInt(String sql)`和`queryForObject(String sql, Class<T> requiredType, ...
如果查询结果不是预期的单行单列,或者类型不匹配,会抛出`IncorrectResultSizeDataAccessException`异常。例如,查询表中的记录数: ```java public long getCustomerCount() { return this.jdbcTemplate....
如果查询结果不唯一或者没有结果,也会抛出异常。例如,获取某个ID的用户: ```java public User getUserById(int id) { return jdbcTemplate.queryForObject("SELECT * FROM user WHERE id=?", new Object[]{id...
查询一行的内容,封装为map用:template.queryForMap(sql) 查询所有的内容,封装为list用 :template.queryForList(sql) 查询所有的内容,封装为对象用:template.query(sql, new BeanPropertyRowMapper<对象>(对象....
* 带参数的queryForMap用法 */ @SuppressWarnings("unchecked") public Map queryForMap(String sql_name, Object parameterObject, String keyProp,String valueProp) { Map map = null; try { map...
如果结果集中有多行记录,则会抛出异常。 2. **`queryForList`方法**:执行查询并返回结果集作为List集合。支持分页查询和自定义结果处理器。 3. **`queryForMap`方法**:执行查询并将结果集转换为Map集合,键通常...
如果失败,则可以抛出异常或者返回错误提示。 整个示例项目"springmvcjdbctemplatedemo"包含了完成上述步骤的所有必要文件和配置,包括所需的jar包。通过运行这个项目,你将亲身体验到Spring4.0、SpringMVC和...
提供多种方法如queryForObject、queryForMap等,用于执行不同的查询或更新操作。 2. sqlmapconfig.xml:这是iBATIS的全局配置文件,包含了数据源、事务管理器和其他配置信息。 3. sqlmap.xml:每个数据库表对应的...
提供了多种方法,如queryForObject和queryForMap,用于执行查询并返回单个对象或Map对象。 2. sqlmapconfig.xml:这是iBATIS的全局配置文件,包含了数据源、事务管理器、SqlMapClient的配置信息。 3. sqlmap.xml:...
5. **处理查询结果**:对于查询操作,可以使用queryForInt、queryForLong等方法获取单个值,使用queryForObject将结果转换为指定类型的对象,使用queryForMap将结果转换为Map集合,或者使用queryForList将结果转换为...
它提供了多种方法,如`queryForObject`和`queryForMap`,用于根据ID执行查询并返回结果对象或Map。 2. **sqlmapconfig.xml** 这是iBATIS的全局配置文件,包含数据库连接信息、事务管理等配置。 3. **sqlmap.xml**...
例如,queryForObject 方法用于获取单个对象,queryForMap 用于获取 Map 结果等。 2. sqlmapconfig.xml:这是 iBATIS 的全局配置文件,包含数据源、事务管理器等配置信息。 3. sqlmap.xml:每个 SQL 映射都定义在...
提供如queryForObject和queryForMap等方法来执行不同的查询操作。 2. sqlmapconfig.xml是全局配置文件,定义了数据库连接信息和其他配置。 3. sqlmap.xml包含具体的SQL映射,每个映射ID对应一个数据库操作。 4. 事务...
- **queryForMap**:用于执行查询操作并将结果封装为`Map`对象返回。同样支持多种重载方法,可以根据需要指定键值字段。 - `queryForMap(String id, Object parameterObject, String keyProp)`:执行指定ID的SQL...
提供了如queryForObject、queryForMap等方法来执行查询或更新操作。 2. sqlmapconfig.xml:这是全局配置文件,定义了数据源、事务管理器等系统级别的设置。 3. sqlmap.xml:每个数据库操作都有对应的XML映射文件,...
例如,`queryForObject`方法用于根据ID获取单个对象,`queryForMap`则用于查询结果集并将其转换为Map结构,这些API简化了数据访问操作。 基础知识点部分包括对`sqlMapClient`接口的认识以及两个重要的配置文件——`...
- `queryForMap`:该方法同样用于执行SQL查询,但返回结果是一个Map。可以通过指定的键值属性来映射查询结果。 通过上述总结,我们可以看到iBatis不仅简化了Java应用与数据库交互的过程,还提供了一种灵活的方式来...