前面我们已经使用Spring Boot搭建了一个建大的项目并且向提供了一个rest api供外部调用。这一节我们需要在这个接口中访问数据库。
需要准备的环境:mysql
创建表:
create table user( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, ager VARCHAR(40) NOT NULL, birth_date DATE, PRIMARY KEY ( id) );
数据库连接使用spring提供的JdbcTemplate
pom.xml新增jdbcTemplate依赖。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.0.7.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <!-- alibaba的druid数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.11</version> </dependency>
- 新建DemoService.java类,把application.property改为application.yml.
- 项目结构
- application.yml加入以下内容:
spring: datasource: name: test # 数据库地址 url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&failOverReadOnly=false # 数据库账号 username: root # 数据库密码 password: 123456 # 使用druid数据源 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver
- service代码如下:
// 交由是spring管理 @Service public class DemoService { // 自动注入JdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; public List<Map<String, Object>> test () { // 查询表中数据并返回 return jdbcTemplate.queryForList("select * from user"); } }
- controller中代码改造
// 依赖注入 @Autowired private DemoService demoService; @GetMapping("/test") public List<Map<String, Object>> test() { return demoService.test(); }
启动项目,浏览器中输入: http://localhost:8080/test即可在浏览器中看到数据库中所有表的数据。
以上就是使用JdbcTemplate管理数据库的使用方式,不过在项目中使用mybatis管理数据库会是更好的选择,在下一节中我们将会使用Spring Boot整合mybatis实现另一个简单的接口Spring Boot从入门到精通-集成mybatis
您的关注是我最大的动力