Springboot集成jdbcTemplate的用法

  介绍

这篇文章主要讲解了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的用法