一、查询,以及返回值得处理
1 JDBCTeamplet查询出来的数据,如果名字和实体名字一样,则直接映射为实体 ,用BeanPropertyRowMapper
返回对象实体参数:
ParameterizedBeanPropertyRowMapper.newInstance(Customer.class)
new BeanPropertyRowMapper(Customer.class)
例如:根据条件查询,因为查询出来的字段与实体属性相同,则直接用BeanPropertyRowMapper返回即可
public List<Person> findByCondition(Person person) { String sql = "select id,user_name userName ,age,tel from person where user_name like ?"; RowMapper rowMapper = new PersonRowMapper(); return super.query(sql, new Object[]{ "%"+person.getUserName()+"%"} , new BeanPropertyRowMapper( Person.class) ); }
2 如果返回的字段与实体的属性不一样,则需要自己定义一个实现RowMapper接口的类
如:1) 查询方法
public List<Person> findAll() { String sql = " select id,user_name ,age,tel from person "; RowMapper rowMapper = new PersonRowMapper(); //super.query(sql, new Object[]{areaId,"%"+schoolName+"%"} , new PersonRowMapper()) return (List<Person>) super.query(sql,new PersonRowMapper()); }
2) 实现RowMapper接口的类
private static final class PersonRowMapper implements RowMapper{ @Override public Object mapRow(ResultSet rs, int rowNum) throws SQLException { Person person = new Person(); person.setAge( rs.getInt("age")); person.setId(rs.getInt("id")); person.setTel( rs.getInt("tel")); person.setUserName(rs.getString("user_name")); return person; } }
3、查询返回自增的主键(Mysql测试)
如:利用回调实现
public Integer createReturnKey(final Person person) { final String sql = "INSERT INTO person ( user_name,age ,tel )VALUES( ?,?,?)"; KeyHolder keyHolder = new GeneratedKeyHolder(); super.update(new PreparedStatementCreator (){ @Override public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement ps = con.prepareStatement(sql); ps.setObject(1, person.getUserName() ); ps.setObject(2, person.getAge() ); ps.setObject(3, person.getTel() ); return ps; } }, keyHolder) ; return keyHolder.getKey().intValue(); }
2 增加返回插入条数
public Integer create(Person person) { String sql = "INSERT INTO person ( user_name,age ,tel )VALUES( ?,?,?)"; Object[] obj = {person.getUserName(),person.getAge(),person.getTel()}; return super.update(sql, obj ); }
二、删除
public Integer delete(int id ) { String sql = "delete from person where id=?"; Object[] obj = {id}; return super.update(sql, obj ); }
三、更新
public Integer update(Person person) { String sql = "update person set user_name=?,age=? ,tel=? where id=? "; Object[] obj={person.getUserName(),person.getAge(),person.getTel(),person.getId() }; return super.update(sql, obj ); }
相关推荐
使用JDBCTemplate执行基本的CRUD操作如下: 1. **插入数据**: ```java jdbcTemplate.update("INSERT INTO users(name, email) VALUES (?, ?)", "Alice", "alice@example.com"); ``` 2. **更新数据**: ```java ...
SpringBoot + Spring Security 基本使用及个性化登录配置详解 Spring Security 是一个功能强大且灵活的安全框架,它提供了认证、授权、攻击防护等功能。SpringBoot 是一个基于 Spring 框架的框架,它提供了很多便捷...
这个“spring最基本jar”可能包含了Spring框架的基础组件,如Spring Core、Spring Beans、Spring AOP等,是学习和使用Spring框架的基础。理解并掌握这些知识点,能够帮助开发者有效地利用Spring框架构建高效、稳定的...
这个压缩包内的“SpringCloud基本框架+完整示例工程”应该包含了一个运行的SpringCloud项目,开发者可以通过阅读源代码,理解上述各组件的配置和使用方式。同时,示例工程还可能包含了测试用例和日志输出,有助于...
本文将深入探讨Spring装配基本属性的原理,帮助你更好地理解如何在代码中使用和配置这些属性。 首先,Spring装配的基本方式有两种:XML装配和基于注解的装配。XML装配是早期版本Spring的主要装配方式,通过`<bean>`...
总的来说,理解并掌握这些基本包的用法是学习和使用Spring的第一步。通过IoC和AOP,Spring能够帮助我们构建松耦合、易于维护的Java应用。在实际开发中,结合Spring Boot和其他相关技术,可以极大地提高开发效率和...
在给定的压缩包文件中,包含了一系列Spring的核心组件,这些组件是进行基本Spring开发所必需的。以下是对这些jar包及其作用的详细解释: 1. **spring-context-4.2.3.RELEASE.jar**:这是Spring上下文模块的实现,...
SpringSecurity的基本使用
在Java开发领域,Spring Boot和Spring Batch的整合是构建高效...通过学习和实践这个示例,你不仅可以掌握如何在Spring Boot中使用Spring Batch,还能了解批处理的最佳实践,这对于处理大数据量的应用场景非常有价值。
Spring Batch是一个轻量级的,完全面向Spring的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供...
### 二、Spring 基本使用 1. **配置 Spring**:可以通过 XML 文件或注解方式进行配置。XML 配置中,`<bean>` 元素用于定义 Bean,`<property>` 用于注入依赖。注解配置则使用如 `@Configuration` 和 `@...
* 声明式服务调用:使用SpringBlade可以快速实现声明式服务调用,通过简单的步骤可以生成一个基本的微服务系统平台。 * Feign熔断机制:使用SpringBlade可以快速实现Feign熔断机制,通过简单的步骤可以生成一个基本...
1. 创建项目和配置文件:在使用 Spring IOC 之前,需要创建一个项目并配置相关的依赖项。pom.xml 文件是 Maven 项目的核心配置文件,用于管理项目的依赖项。在 pom.xml 文件中,需要添加 Spring IOC 相关的依赖项,...
在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个jar文件是所有应用...
"spring 基本包 jar"指的是Spring框架的核心组件,这些组件构成了Spring应用程序的基础。下面我们将深入探讨Spring的基本包及其核心概念。 1. **IoC(Inversion of Control)容器**:Spring的核心是IoC容器,它负责...
【Spring 框架基本知识及配置使用】 Spring 框架是Java开发中的一个核心框架,由Rod Johnson创建,最初源于《Expert One on One J2EE Design and Development》一书中的理念。Spring的主要目标是简化企业级应用的...
此外,Spring Boot 还提供了许多开箱即用的功能,适合生产环境使用,如性能监控、应用信息暴露和健康检查。这些功能使得开发者能更好地管理和维护应用程序的运行状态。 创建一个基本的 Spring Boot 应用非常简单。...
在本例中,我们将深入探讨Spring JdbcTemplate的工作原理、使用方式以及它的优点。 首先,JdbcTemplate的核心理念是通过预编译的SQL语句和参数绑定来防止SQL注入攻击,同时提供事务管理的支持。它提供了大量方法来...
标题提到的“springsecurity基本的三个jar包”是Spring Security的核心组件,它们构成了框架的基础架构,使得开发者能够实现各种安全需求。 1. **spring-security-core.jar**: 这个jar包包含了Spring Security的...