为什么要使用`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(); // 对应页码的行记录列表