这篇文章主要讲解了Springboot集成jdbcTemplate的用法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
<强>一说明强>
实际工作中其实很少会用到jdbcTemplate去操作数据库,因为其使用方式不是很灵活,sql的拼接能力不强,实际上jdbcTemplate是属于春天自带的数据层模板,在春天中可以说是比较失败的一个案例,原因是当代流行mybatis当做持久层访问数据库,其优越的sql拼接能力,动态sql,半自动化映射,和易于sql优化的特性,深受广大互联网公司的喜爱,并且mybatis的市场占有率不断的上升,hibernate的市场不断缩水,可以说hibernate已经这种强映射关系的持久层模型已经走到互联网时代的尽头了。
本文写jdbcTemplate只是当作大家的一个入门学习,可以说以后你很难用到这门技术,所以不会深入研究,有兴趣的朋友可以专栏我其他关于Springboot的集成系列。本次演示使用jdk1.8, mysql5.6, springboot2.1。amp; # 8203;
<强>二数据库建表和实体强>
用户表,里面有三个属性用户id,用户名和电话号码。
创建表“用户”( “id”int (11) NOT NULL AUTO_INCREMENT评论& # 39;用户id # 39;, “名字”varchar(255)默认空评论& # 39;用户名& # 39;, “电话”varchar(255)违约零评论& # 39;用户电话& # 39;, 主键(“id”) )引擎=InnoDB AUTO_INCREMENT=2的默认字符集=utf8;
用户表对应的实体:
/* * * @Author lsc * @Description & lt; p> pojo & lt;/p> * @Date 2019/11/2十 */公开课用户{//标识 私人长id;//姓名 私人字符串名称;//电话 私人电话字符串;//省略集 }
<强>三dao层
强>
对于使用jdbcTemplate,我们的dao层需要接口定义crud操作方法,其实现类则进行具体的sql操作,很多开发人员没有这种解耦的思想,往往就直接在检修层操作sql,可以说没有完整的一个知识体系,往往会造成后期维护困难,项目无法进行下去。
3.1刀接口
/* * * @Author lsc * @Description & lt; p>用户刀接口& lt;/p> * @Date 2019/11/2 10:19 */公共接口UserDao {//添加 int addUser用户(用户);//改 int updateUser用户(用户);//删 int deleteUser (id);//通过身份证查询 用户findUserbyId (id); }
3.2 dao层实现类
dao层的实现类才是具体操作sql的地方。
/* * * @Author lsc * @Description & lt; p>用户持久层& lt;/p> * @Date 2019/11/2十 */@ 公共类UserDaoImpl实现UserDao {//注入jdbc模板 @ autowired 私人JdbcTemplate JdbcTemplate; @Override 公共int addUser(用户用户){//sql 字符串sql=安迦胗没?姓名,电话)值(和# 63;,,# 63;)“;//jdbc插入 返回jdbcTemplate.update (sql, user.getName (), user.getTelephone ()); } @Override 公共int updateUser(用户用户){//sql 字符串sql=案掠没ё槊?,# 63;,电话=,# 63;在id=, # 63;“;//jdbc updae 返回jdbcTemplate.update (sql, user.getName (), user.getTelephone (), user.getId ()); } @Override 公共int deleteUser (id) {//sql 字符串sql=吧境佑没d=, # 63;“;//删除 返回jdbcTemplate.update (sql, id); } @Override 公共用户findUserbyId (id) {//sql 字符串sql=皊elect *从用户id=, # 63;“;//参数 对象[]params=新对象[]{id};//rowMapper BeanPropertyRowMapper rowMapper=new BeanPropertyRowMapper (User.class);//jdbc查询 List查询=jdbcTemplate。查询(sql, params, rowMapper);//返回用户 返回query.get (0); } }
<强>四服务层
强>
4.1服务层接口
服务层接口定义业务的方法,提供给控制层调用。
公共接口UserService {//添加 int addUser用户(用户);//改 int updateUser用户(用户);//删 int deleteUser (id);//通过身份证查询 用户findUserbyId (id); }
4.2服务层实现类
服务层的实现类才是具体写业务逻辑代码的地方。
/* * * @Author lsc * @Description & lt; p>用户服务& lt;/p> * @Date 2019/11/2 37 */@ service 公共类UserServiceImpl实现UserService { @ autowired UserDao UserDao; @Override 公共int addUser(用户用户){ 返回userDao.addUser(用户); } @Override 公共int updateUser(用户用户){ 返回userDao.updateUser(用户); } @Override 公共int deleteUser (id) { 返回userDao.deleteUser (id); } @Override 公共用户findUserbyId (id) { 返回userDao.findUserbyId (id); } }Springboot集成jdbcTemplate的用法