Spring Boot使用SQL數據庫


一、自動配置

在生產環境中,可以使用DataSource池進行自動配置。

如果你使用spring-boot-starter-jdbc或spring-boot-starter-data-jpa 'starter POMs',你將會自動獲取對tomcat-jdbc的依賴。

通過spring-boot-starter-jdbc快速配置數據源,需要引入的maven依賴:

<!--spring-boot-starter-jdbc自動配置-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
  <version>2.2.0.RELEASE</version>
</dependency>
<!--數據庫驅動-->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.18</version>
</dependency>

DataSource配置通過外部配置文件的spring.datasource.*屬性控制。示例中,你可能會在application.properties中聲明下面的片段:

#數據庫配置
spring.datasource.url=jdbc:mysql://localhost:port/test
spring.datasource.username=root
spring.datasource.password=***
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver

 

測試代碼:

@Autowired
    private DataSource dataSource;

    @Test
    void springDataSourceTest() {
        try {
            Connection connection = dataSource.getConnection();
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("select * from article1");
            while(resultSet.next()){
                JSONObject rsJson = new JSONObject();
                ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
                for (int i = 0; i < resultSetMetaData.getColumnCount(); i++) {
                    String field = resultSetMetaData.getColumnLabel(i+1);
                    rsJson.put(field.toLowerCase(), resultSet.getObject(field));
                }
                System.out.println(rsJson);
            }
            statement.close();
            connection.close();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

 

 

二、使用JdbcTemplate

Spring的JdbcTemplate是被自動配置的,可以beans中通過@Autowire直接注入它們。

 

 測試代碼:

@Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    void springJdbcTemplateTest() {
        String sql = "select * from article1";
        List<Map<String, Object>> resultList = jdbcTemplate.queryForList(sql);
        System.out.println(resultList);
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM