為了賬號安全,請及時綁定郵箱和手機立即綁定

Java Web基礎入門,Springboot入門(9)

2017.12.07 19:46 1282瀏覽

前言

語言都是相通的,只要搞清楚概念后就可以編寫代碼了。而概念是需要學習成本的。

本文首發于博客園-Ryan Miao. 由于限制2000字,只能分多篇。

項目連接MySQL

保持MySQL打開狀態。

引入mysql驅動和spring-jdbc

compile("org.springframework.boot:spring-boot-starter-jdbc")
compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'

修改配置文件,新增:

spring.datasource.url=jdbc:mysql://localhost:3306/springboot_demo?serverTimezone=UTC&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

新建com.test.demo.config.DBConfiguration

package com.test.demo.config;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;

@Configuration
public class DBConfiguration {

    @Bean
    public JdbcTemplate jdbcTemplate(@Qualifier("dataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }
}
  1. @Configuration 標注這個類是一個配置類,spring會自動掃描這個注解,將里面的配置運行。
  2. @Bean 標注聲明一個Bean,由spring管理,在需要的地方注入。
  3. @Qualifier("dataSource") @Bean的參數列表中對象會從spring容器中查找bean,找到后注入參數。而Qualifier則聲明要注入的bean的name或者id是什么,這在spring容器包含2個以上同類型的bean的時候有用。
  4. DataSource 這個對象是springboot自動創建的,通過掃描配置類里的配置,當檢測到有配置datasource的時候會創建這個bean。于是,在這里就可以注入了,即我們配置的那幾個屬性。
  5. JdbcTemplate 一個封裝了對DB操作的library, 通過它來對數據庫操作。

下面寫一個測試來測試是否聯通了。在src/test/java下,新建com.test.demo.config.DBConfigurationTest

package com.test.demo.config;

import com.test.demo.Application;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
@Import({Application.class, DBConfiguration.class})
public class DBConfigurationTest {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    public void testSelect() {

        List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from room");
        System.out.println(maps);
    }
}

控制太打印出剛才的數據庫中的數據:

[{id=1, name=大床房, comment=無窗, create_date=2017-11-26, update_date=2017-11-26}]
  1. @RunWith(SpringRunner.class)運行spring容器的測試
  2. @SpringBootTest springboot測試
  3. @Import({Application.class, DBConfiguration.class}) 導入我們需要的配置
  4. @Autowired自動注入屬性,剛才在Configuration中聲明了一個Bean,在這里通過這個注解獲取那個bean
  5. @Test 這是一個JUnit測試

下一篇,簡單使用JDBCTemplate

點擊查看更多內容

本文原創發布于慕課網 ,轉載請注明出處,謝謝合作

1人點贊

若覺得本文不錯,就分享一下吧!

評論

相關文章推薦

正在加載中
意見反饋 幫助中心 APP下載
官方微信

舉報

0/150
提交
取消
lpl竞猜