Skip to content

zhudyos/spring-jdbc-ext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring NamedParameterJdbcTemplate 扩展实现

为什么要使用`PageNamedParameterJdbcTemplate`

  • 简单 (命名参数, 类型自动封装)

  • 快速 (运行效率无限接近原生 jdbc)


比如我们向数据库插入(insert)一条数据

Person p = new Person();
p.setName("kevin");
p.setAddress("Shanghai");
p.setCountry("China");

namedTemplate.update(
  "insert into t_person(name, address, country) values(:name,:address,:country)",
  new BeanPropertySqlParameterSource(p))

查询`Person`数据

List<Person> persons = namedTemplate.query(
  "select * from person",
  EmptySqlParameterSource.INSTANCE,
  BeanPropertyRowMapper.newInstance(Person.class));

分页数据查询

int offset = 10, limit = 5;
PageHelper.set(offset, limit);  // 设置分页参数

String sql = "SELECT * FROM person";
PageResult<Person> pageResult = (PageResult) namedTemplate.query(
  "SELECT * FROM person",
  EmptySqlParameterSource.INSTANCE,
  BeanPropertyRowMapper.newInstance(Person.class));

long total = pageResult.getTotal(); // 总记录数
List<Person> persons = pageResult.getRows(); // 对应页码的行记录列表