02-SpringBoot Database數據庫連接

數據庫 MySQL SQL Java 甫義工作室 2019-06-30

SpringBoot數據庫連接,兩種方式,JPA和JDBC,當然還有其他方式例如Mybatis,JdbcTemplate等

一 SpringBoot JPA

1.pom配置jpa/mysql依賴

<!-- JPA數據庫依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Mysql連接器-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>

2.properties.yml配置信息

#通用數據源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?charset=utf8mb4&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
# Hikari 數據源專用配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
# JPA 相關配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create

3.創建POJO-UserDO

package com.lly.bean;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "springjpa_user")
public class User {
@Id
Integer id;
@Column(length = 255)
String name;
@Column(length = 25)
String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}

4.創建Dao

package com.lly.repository;
import com.lly.bean.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserDao extends JpaRepository<User,Long> {
}

5.創建單元測試進行運行測試

package com.lly;
import com.lly.bean.User;
import com.lly.repository.UserDao;
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.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTest {
@Autowired
private UserDao userDao;
@Test
public void userDaoJpa(){
User user = new User();
user.setId(1);
user.setName("hello?");
user.setEmail("[email protected]");
userDao.save(user);
}
}

6.查看數據庫

已經自動創建好表和插入的數據

02-SpringBoot Database數據庫連接

總結:

本質是使用Hibernate進行數據庫操作

參考:

1.https://www.javatpoint.com/spring-boot-jpa

2.https://www.jianshu.com/p/c14640b63653

二 SpringBoot JDBC

1.創建數據庫表

create table user(
id int UNSIGNED primary key not null auto_increment,
name varchar(100),
email varchar(100)
);

2.項目properties配置

#通用數據源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
# Hikari 數據源專用配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
# JPA 相關配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create

3創建控制器Controller

package com.lly.controller;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SpringBootJdbcController {
@Autowired
JdbcTemplate jdbcTemplate;
@RequestMapping(value = "insert")
public String insertUser() {
jdbcTemplate.execute("insert into user(name,email)values('Liya','[email protected]')");//執行sql
return "InsertUser Successful";
}
}

4.運行Application

02-SpringBoot Database數據庫連接

參考:https://www.javatpoint.com/spring-boot-jdbc

相關推薦

推薦中...