- 2019-07-26 15:31:37
- 9004 热度
- 0 评论
注入需要的模版对象
@Resource private NamedParameterJdbcTemplate jdbcTemplate; @Resource private JdbcTemplate jdbcTemplateSimple;
插入并获取自增主键
通过内部类来实现,传入接收返回值的对象:
KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplateSimple.update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(insert_sql, Statement.RETURN_GENERATED_KEYS); ps.setLong(1, 2L); ps.setString(6, "test"); return ps; } }, keyHolder); long id = keyHolder.getKey().longValue();
查询返回结果集List
这是一个常用操作,一般在使用JdbcTemplate时都是返回这样的数据
List<Map<String, Object>> list = jdbcTemplateSimple.queryForList("select * from test where code=? and state=?", "X001", 1);
根据Map参数来查询,并将结果集封装成对应的Bean
Map<String,Object> map = new HashMap(); map.put("code","X001"); map.put("state",1); List<TestBean> beanList = jdbcTemplate.query("select * from test where code=:code and state=:state", map, new RowMapper<TestBean>() { @Override public BidItemBean mapRow(ResultSet rs, int i) throws SQLException { TestBean b = new TestBean(); b.setId(rs.getLong("id")); b.setCode(rs.getString("code")); b.setState(rs.getString("state")); return b; } });
更新删除
都得用的操作,简单命令一行搞定
jdbcTemplateSimple.update("delete from test where a=? and b=?", "X001", 1);
0 评论
留下评论