下面介绍的整合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(地址); 返回用户; } }); }/* * *查询方式二 *当类属性和数据库字段对应时就这样使用啦,比上面的简洁很多 */公共List getAllUserSecond () { jdbcTemplate返回。从用户查询(“select *;”新的BeanPropertyRowMapper<祝辞(User.class)); } } >之前 这里需要记一下,jdbc不论新增,修改,删除都是使用更新方法。而查询则是使用查询。
如果数据库字段和实体类属性不一致时,则需要使用上面代码中的查询方式一
如果数据库字段和实体类属性全都一致时,则可以使用上面代码中的查询方式二,简单快捷。
整理完后当然是少补了测试的啦,测试类如下:
@SpringBootTest 类JdbcApplicationTests { @ autowired UserService UserService; @Test 公共空间addUser () { 用户用户=新用户(); user.setUsername (“johnson2”); user.setAddress (“colablog.cn”); userService.addUser(用户); } 公共空间queryUsers () { ListSpringBoot整合jdbc和mybatis的方法