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即可在瀏覽器中看到數據庫中所有表的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章