SpringBoot連接Mysql
第一個SpringBoot的練習就是連接數據庫,使用的是就是基礎的組件,沒有使用web和mybatis。也是作爲一個基礎的demo。開始。
因爲之前的java項目是通過導入jar包來實現,非常的繁瑣並且jar包不容易管理。後來產生了maven,通過maven來管理jar包。本次項目也是通過pom文件來管理依賴,同時,因爲SpringBoot設置了默認的依賴版本,這裏也不再敘述導入依賴的版本。
導入的依賴如下:下面的代碼就是全部的依賴,有些最開始創建項目的時候已經導入了,這裏仍然放在下面了。記得添加依賴後要更新一下,要不然很多東西IDE無法做配置。
<!-- SpringBoot基礎依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- JDBC依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- MySQL依賴 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 測試依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
maven更新的圖片如下,這樣更新後就可以使用依賴中的類。
導入依賴後,需要在SpringBoot配置文件中進行數據庫的基礎配置。這裏配置文件是application.properties。不是現在常見的yml格式,這裏是spring默認的格式。其他格式的數據庫配置需要查詢一下,後面也會換成其他格式,這種格式不好區分各個中間件配置,但是現在暫時使用這個格式。配置如下:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.username=root
spring.datasource.password=12345678
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
創建測試類就可以了,下面就可以寫代碼了。代碼如下:
package com.psq.train.mysql;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
/**
* ConnectMySQLTrain.java
* Description: 使用基礎的組件連接MySQL
*
* @author Peng Shiquan
* @date 2020/5/30345
*/
@Component
public class ConnectMySQLTrain {
@Resource
private JdbcTemplate jdbcTemplate;
/**
* Description: 測試MySQL數據讀取
*
* @param
* @return void
* @Author: Peng Shiquan
* @Date: 2020/5/31
*/
@PostConstruct
public void testMySQL() {
String sql = "SELECT id,name,password FROM `user`";
List<TestUser> testUserList = jdbcTemplate.query(sql, new RowMapper<TestUser>() {
@Override
public TestUser mapRow(ResultSet resultSet, int i) throws SQLException {
TestUser testUser = new TestUser();
testUser.setId(resultSet.getInt("id"));
testUser.setName(resultSet.getString("name"));
testUser.setPassword(resultSet.getString("password"));
return testUser;
}
});
System.err.println("查詢成功,查詢結果如下:" + testUserList.toString());
}
}
需要注意的是:這裏沒有使用SPringBoot的web模塊,只是簡單的一個demo,所以就單獨寫了一個類,在項目啓動的時候運行一下就可以了@Component
註解是爲了把普通pojo實例化到spring容器中,相當於配置文件中的<bean id="" class=""/>
,@PostConstruct
註解的意思是:被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,並且只會被服務器執行一次。實體類的代碼因爲沒有什麼可以講的,這裏就不再佔面積了。
運行項目這裏也沒有什麼可以講的地方。就是SpringBoot內置了Tomcat,但是因爲我這個項目沒有web模塊,所以沒有內嵌tomcat,關於這些可以放到後面來說。本次就是打成了jar包,通過jvm運行。結果如下:
上面說的可能有些地方不對,大家可以指導一下。就這樣吧,結束。