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.查看數據庫
已經自動創建好表和插入的數據
總結:
本質是使用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
參考:https://www.javatpoint.com/spring-boot-jdbc
相關推薦
推薦中...