SpringBoot2.0整合使用JdbcTemplate数据库配置
一. 项目步骤
1. pom文件引入
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mysql 依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
2. application.yml配置
#数据库配置
spring:
datasource:
name: hejrDataSource
url: jdbc:mysql://localhost:3306/springboot2.0_db?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
username: root
password: 123456
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
3. Service层
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public Object addUser(String userName) {
int ret = jdbcTemplate.update("insert into TB_USER values(null,?);", userName);
return ret;
}
4. 数据库表结构
CREATE TABLE `tb_user` (
`USER_ID` bigint(20) NOT NULL AUTO_INCREMENT,
`USER_NAME` varchar(50) DEFAULT NULL COMMENT '用户名',
PRIMARY KEY (`USER_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
5. Controller层
/**
* 新增用户
* @param userName
* @return
*/
@RequestMapping("/addUser")
public Object addUser(String userName) {
CommonResultObject resultObject = new CommonResultObject();
try {
resultObject.setResult(userService.addUser(userName));
resultObject.setCode(200);
resultObject.setMessage("新增用户成功");
} catch (Exception e) {
resultObject.setCode(-1);
resultObject.setMessage("新增用户失败");
}
return resultObject;
}
二. 注意事项
其实在实际开发中,一般不会采用JdbcTemplate,而是会使用其他的,比如Mybatis-Plus,只是如果是学习,那就要都了解,如果能搞明白最好不过,以及要注意项目结构的规范。
三. 源码地址
https://gitee.com/hejr.cn.com/SpringBoot2.0_2019/tree/master/springboot2.0_002
下一篇:(六)SpringBoot2.0报错The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than