Spring Boot从入门到精通-数据库连接

前面我们已经使用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

您的关注是我最大的动力

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券