SpringBoot通过JdbcTemplate操作MySQL数据库( 二 )

第一次执行的时候不会报错,多次执行就会有下面的错误信息了!

SpringBoot通过JdbcTemplate操作MySQL数据库

文章插图
 
6.2 获取自增列数值
刚刚福哥向用户表user插入了一条数据,用户表user的主键是自增列,要获取新数据的自增列的数值需要自己通过SQL获得 。
try {    String sql = "insert into user (passwd, createDT, userFlag, userState, userName)" +            " values (?, now(), ?, ?, ?)";    Object[] values = new Object[]{"123456", 7, 1, "福哥教JdbcTemplate"};    Integer ret = jdbcTemplate.update(sql, values);    Map map = jdbcTemplate.queryForMap("select LAST_INSERT_ID() as newId");        return map.get("newId").toString();}catch (Exception e){    return e.getMessage();}
SpringBoot通过JdbcTemplate操作MySQL数据库

文章插图
 
7. 更新数据更新数据就是执行UPDATE语句了,更新语句的条件自然就是通过刚刚获取到的自增列的数值了 。更新是否成功也是看是否有异常抛出,如果没有抛出就是执行成功了!
我们还可以通过update方法的返回值获得本次更新语句影响了多少行的数据!
try {    String sql = "update user set lastLoginDT = now()" +            " where userID = ?";    Object[] values = new Object[]{16};    Integer ret = jdbcTemplate.update(sql, values);        return ret.toString();}catch (Exception e){    return e.getMessage();}
SpringBoot通过JdbcTemplate操作MySQL数据库

文章插图
 
8. 删除数据【SpringBoot通过JdbcTemplate操作MySQL数据库】删除数据是通过DELETE语句完成的,删除语句的条件自然也是根据自增列的数值了 。
删除是否成功也是通过是否有异常抛出判断的,如果没有异常抛出就表示执行成功了!
删除行数也可以通过update方法的返回值得到!
try {    String sql = "delete from user" +            " where userID = ?";    Object[] values = new Object[]{16};    Integer ret = jdbcTemplate.update(sql, values);        return ret.toString();}catch (Exception e){    return e.getMessage();}
SpringBoot通过JdbcTemplate操作MySQL数据库

文章插图
 
9. 查询数据查询语句就是SELECT语句,这是数据库操作里面最最常用的SQL语句了,单表查询、多表连接查询、子查询、分组查询、汇总查询、结果排序等等一系列的SQL查询技巧福哥今天不想在这里讲解,我们只用一个最简单的单表查询演示JdbcTemplate是如何实现数据查询的就可以了~~
JdbcTemplate有非常多的query方法可以适应各种情况的需要,而一般情况下查询单行数据可以使用queryForMap,查询多行数据可以使用queryForList,最终得到的都是Map<String, Object>这个经典的数据结构 。
List<Map<String, Object>> map = jdbcTemplate.queryForList("select * from user order by userID desc");String ret = "";for(int i=0;i<map.size();i++){    Map<String, Object> myMap = map.get(i);    ret += myMap.get("userID").toString() + "@" + myMap.get("userName") + "<br />";}
SpringBoot通过JdbcTemplate操作MySQL数据库

文章插图
 
10. 注意事项使用JdbcTemplate对象操作MySQL数据库有一些注意事项,大家一定要认真看哦~~