您的位置:首页 > 编程语言 > Java开发

005、简单的spring jdbc操作

2020-02-17 04:51 453 查看

一、如何使用spring jdbc操作数据库

1. 使用 JdbcTemplate

常用方法: 

update(String sql, @Nullable Object... args)

jdbcTemplate.update("insert into student (name) values(?)", "zhangsan");

update(String sql, Object[] args, int[] argTypes)

update(final PreparedStatementCreator psc, final KeyHolder generatedKeyHolder)

GeneratedKeyHolder key = new GeneratedKeyHolder();
PreparedStatementCreatorFactory preparedStatementCreatorFactory = new PreparedStatementCreatorFactory(
"insert into student (name) values(?)");
preparedStatementCreatorFactory.setReturnGeneratedKeys(true);
preparedStatementCreatorFactory.addParameter(new SqlParameter(Types.VARCHAR));
PreparedStatementCreator newPreparedStatementCreator = preparedStatementCreatorFactory
.newPreparedStatementCreator(new Object[] { "zhangsan1" });
jdbcTemplate.update(newPreparedStatementCreator, key);

batchUpdate(String sql, List<Object[]> batchArgs)

jdbcTemplate.batchUpdate("insert into student (name) values (?)",
Arrays.asList(new String[] { "q1" }, new String[] { "q2" }));

batchUpdate(String sql, List<Object[]> batchArgs, final int[] argTypes)

query(String sql, RowMapper<T> rowMapper)

queryForMap(String sql)

2. 使用 SimpleJdbcInsert

常用方法:

executeAndReturnKey(Map<String, ?> args)

Map<String, Object> args = new HashMap<>();
args.put("name", "lisi");
Number executeAndReturnKey = simpleJdbcInsert.executeAndReturnKey(args);

3. 使用 NamedParameterJdbcTemplate

常用方法:

update(String sql, Map<String, ?> paramMap)

Map<String, Object> paramMap = new HashMap<>();
paramMap.put("name", "wangwu");
namedParameterJdbcTemplate.update("insert into student (name) values(:name)", paramMap);

update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder)

query(String sql, RowMapper<T> rowMapper)

queryForMap(String sql, Map<String, ?> paramMap)

queryForList(String sql, Map<String, ?> paramMap, Class<T> elementType)

 

源码

转载于:https://my.oschina.net/tita/blog/3056778

  • 点赞
  • 收藏
  • 分享
  • 文章举报
chijie6848 发布了0 篇原创文章 · 获赞 0 · 访问量 1191 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: