第一次执行的时候不会报错,多次执行就会有下面的错误信息了!
文章插图
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();}
文章插图
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();}
文章插图
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();}
文章插图
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 />";}
文章插图
10. 注意事项使用JdbcTemplate对象操作MySQL数据库有一些注意事项,大家一定要认真看哦~~
- 一定要保证数据库服务的健康状态以及数据源参数的可用性,否则会一旦连接失败就会造成项目无法启动的风险 。
推荐阅读
- SpringBoot中的Controller详解
- 尿酸高能喝白茶吗,通过喝茶降尿酸吗真正有用的是办法
- 力量训练方式有哪些?
- 通过手指看你一生的运势
- 你可以通过以下五种异地恋来结婚
- 通过U盘进行全新安装Windows
- Springboot默认的错误页是如何工作及工作原理你肯定不知道?
- springboot 结合 logback 设置
- Springboot配置文件加载路径及使用方式你真的都了解了吗?
- MySQL的监控原理