SpringBoot整合jdbc和mybatis的方法

  

  

下面介绍的整合JDBC和整合MyBatis都需要添加的实体类和配置

  

        创建表“用户”(   “id”int(11)不是零AUTO_INCREMENT,   “用户名”varchar(255)字符集utf8mb4核对utf8mb4_0900_ai_ci非空,   “地址”varchar(255)字符集utf8mb4核对utf8mb4_0900_ai_ci非空,   主键(id)来使用   )引擎=InnoDB AUTO_INCREMENT=4字符集=utf8mb4整理=utf8mb4_0900_ai_ci ROW_FORMAT=动态;      设置FOREIGN_KEY_CHECKS=1;      

  

添加简单的用户实体类,用于下面jdbc和mybatis的使用和测试。再添加一个toString方法为了测试时看结果比较简单。

        公开课用户{   私人整数id;   私人字符串的用户名;   私人字符串地址;   公共整数getId(){返回id;}   公共空间setId(整数id) {。id=id;}   公共字符串getUsername(){返回用户名;}   {这个公共空间setUsername(字符串的用户名)。用户名=用户名;}   公共字符串getAddress(){返回地址;}   {这个公共空间setAddress(字符串地址)。地址=地址;}   @Override   公共字符串toString () {   返回“用户{”+   " id=" + + id   ”,用户名=" +用户名+ \”   ”,地址=" +地址\“+ +”   '} ';   }   }      之前      

  

mysql版本根据自己数据库版本设置

  

德鲁伊为阿里云提供的数据源(可理解为连接池)

        & lt; dependency>   & lt; groupId> com.alibaba   & lt; artifactId> druid-spring-boot-starter   & lt; version> 1.1.10   & lt;/dependency>   & lt; dependency>   & lt; groupId> mysql   & lt; artifactId> mysql-connector-java   & lt; scope> runtime   & lt; version> 8.0.18   & lt;/dependency>      

  

数据库属性配置肯定是少不的啦。

        spring.datasource.type=com.alibaba.druid.pool.DruidDataSource   spring.datasource.username=用户名   spring.datasource.password=密码   spring.datasource.url=jdbc: mysql://127.0.0.1:3306/mydatabase      

  

maven依赖#

  

添加springboot提供的jdbc依赖

        & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-data-jdbc   & lt;/dependency>      

使用#         @ service   公开课UserService {      @ autowired   JdbcTemplate JdbcTemplate;      公共整数addUser(用户用户){   jdbcTemplate返回。更新(“插入用户(用户名、地址)值(& # 63;& # 63;);”,   user.getUsername (), user.getAddress ());   }/* *   *查询方式一   *当类属性和数据库字段不对应时才这样使用   * @return   */公共ListgetAllUserFirst () {   jdbcTemplate返回。从用户查询(“select *;”新RowMapper () {   @Override   公共用户mapRow (ResultSet ResultSet, int i) throws SQLException {   用户用户=新用户();   int id=resultSet.getInt (" id ");   字符串地址=resultSet.getString(“地址”);   字符串的用户名=resultSet.getString(“用户名”);   user.setId (id);   user.setUsername(用户名);   user.setAddress(地址);   返回用户;   }   });   }/* *   *查询方式二   *当类属性和数据库字段对应时就这样使用啦,比上面的简洁很多   */公共ListgetAllUserSecond () {   jdbcTemplate返回。从用户查询(“select *;”新的BeanPropertyRowMapper<祝辞(User.class));   }   }      之前      

这里需要记一下,jdbc不论新增,修改,删除都是使用更新方法。而查询则是使用查询。

  

如果数据库字段和实体类属性不一致时,则需要使用上面代码中的查询方式一

  

如果数据库字段和实体类属性全都一致时,则可以使用上面代码中的查询方式二,简单快捷。

  

  

整理完后当然是少补了测试的啦,测试类如下:

        @SpringBootTest   类JdbcApplicationTests {      @ autowired   UserService UserService;      @Test   公共空间addUser () {   用户用户=新用户();   user.setUsername (“johnson2”);   user.setAddress (“colablog.cn”);   userService.addUser(用户);   }      公共空间queryUsers () {   List

SpringBoot整合jdbc和mybatis的方法