一、查询,以及返回值得处理
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 ); }
相关推荐
博客中有自身的讲解配置,欢迎大家及时观看.....
Spring Security 基本使用和配置代码,学习之后自己练习,
Spring的基本配置Spring的基本配置Spring的基本配置Spring的基本配置Spring的基本配置Spring的基本配置Spring的基本配置
01_Spring Security基本使用和配置 ;01_Spring Security基本使用和配置;持续更新中.....
spring最基本jar
SpringCloud基本框架+完整示例工程.rar
编码剖析Spring装配基本属性的原理
Spring基础:Spring AOP简单使用
springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot ...
Java项目教学第一学期-SSM框架讲义1-Spring的基本应用.pdfJava项目教学第一学期-SSM框架讲义1-Spring的基本应用.pdfJava项目教学第一学期-SSM框架讲义1-Spring的基本应用.pdfJava项目教学第一学期-SSM框架讲义1-...
主要介绍了SpringBoot + Spring Security 基本使用及个性化登录配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
SpringSecurity的基本使用
spring介绍ppt 介绍spring的基本概念和使用,从ioc和aop讲起,对想快速了解spring的人有很大帮助
简单进行spring开发的基本jar包,使用eclipse软件开发时必须导入部分
java spring安装基本jar包
spring笔记,基本使用,基本概念
该文件包含了,SpringData 的一些基本使用方法和Repository 的一些子接口的使用,以及快速分页方法的实现
这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个jar文件是所有应用...
Spring 参考手册 Spring速查手册 spring初学者使用
Spring的基本运行jar包