接着上一篇spring-jdbc访问数据库
JDBCTest.java:
/** * 测试NamedParameterJdbcTemplate * 好处:参数可以起名字,不需要使用"?"按顺序排列 */ @Test public void testNamedParameterJdbcTemplate(){ String sql = "INSERT INTO user(name,money) VALUES(:name,:money)"; Map<String,Object> paramMap = new HashMap<>(); paramMap.put("name","用户100"); paramMap.put("money", "0"); int num = this.namedParameterJdbcTemplate.update(sql, paramMap); System.out.println("NamedParameterJdbcTemplate:" + num); } /** * 使用具名参数。 * 好处:直接传对象 */ @Test public void testNamedParameterJdbcTemplateObject(){ String sql = "INSERT INTO user(name,money) VALUES(:name,:money)"; User user = new User(); user.setName("用户101"); user.setMoney(0); SqlParameterSource paramSource = new BeanPropertySqlParameterSource(user); int num = this.namedParameterJdbcTemplate.update(sql, paramSource); System.out.println("NamedParameterJdbcTemplate:" + num); }
<!-- 配置 NamedParameterJdbcTemplate --> <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> <constructor-arg ref="dataSource"></constructor-arg> </bean>