SpringBoot構建ORM框架的方法步驟
目前常用的ORM框架有 Mybatis(batis)、MybatisPlus,Hibernate、Jpa等幾個框架,今天就簡單介紹一下搭建Mybatisplus框架的流程。
1.增加依賴
<dependencies> ? ? ? ? <!-- ? ? ? ?第一步:選擇ORM框架,使用springboot整合mybatis-plus依賴包--> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>com.baomidou</groupId> ? ? ? ? ? ? <artifactId>mybatis-plus-boot-starter</artifactId> ? ? ? ? ? ? <version>3.5.1</version> ? ? ? ? </dependency> ? ? ? ? <!-- ? ? ? ?第二步:選擇數(shù)據(jù)庫驅動,這里是Mysql所以就選擇Mysql的驅動,PG的就選擇PG--> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>mysql</groupId> ? ? ? ? ? ? <artifactId>mysql-connector-java</artifactId> ? ? ? ? ? ? <version>8.0.28</version> ? ? ? ? </dependency> ? ? ? ? <!-- ? ? ? ?第三步(可選):數(shù)據(jù)庫連接池,可以使用druid的連接池。springboot-jdbc已經默認依賴了Hikari的連接池--> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>com.alibaba</groupId> ? ? ? ? ? ? <artifactId>druid-spring-boot-starter</artifactId> ? ? ? ? ? ? <version>1.2.8</version> ? ? ? ? </dependency> ? ? </dependencies>
2.數(shù)據(jù)庫實體模型
主要使用@TableName和@TableField,配置屬性類和數(shù)據(jù)庫表的對應關系
@TableName("userinfo")
@Data
public class UserInfo {
?
? ? @TableId(type = IdType.AUTO)
? ? private Integer id;
?
? ? @TableField
? ? private String name;
?
? ? private String usernum;
?
? ? private int sex;
?
? ? private Date createtime;
?
? ? private Date updatetime;
}3.增加Mapper
使用BaseMapper繼承或者IService繼承
BaseMapper 接口中封裝了一系列 CRUD 常用操作
IService 內部進一步封裝了 BaseMapper 接口的方法(當然也提供了更詳細的方法)。
public interface IUserInfoMapper extends BaseMapper<UserInfo> {
?
}或者
public interface IUserInfoSevice extends IService<UserInfo> {
?
}4.@Mapper或者@MapperScan
使用@Mapper或者@MapperScan,將Mapper的接口類編譯成實現(xiàn)類,才能注入。
@MapperScan:在啟動項類上增加@MapperScan,指定掃描的包。指定了變成實現(xiàn)類的接口所在的包,然后包下面的所有接口在編譯之后都會生成相應的實現(xiàn)類
@Mapper:在接口上增加@Mapper,在編譯之后會生成相應的接口實現(xiàn)類。
@SpringBootApplication
@MapperScan("......")
public class MybatisPlusProgram {
?
? ? public static void main(String[] args) {
? ? ? ? SpringApplication.run(MybatisPlusProgram.class, args);
? ? }
}5.配置連接
默認數(shù)據(jù)庫配置連接
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/myboot?useUnicode=true&characterEncoding=utf8
username: root
password: root
durid連接池配置連接:
spring:
datasource:
#1.JDBC
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/myboot?useUnicode=true&characterEncoding=utf8
username: root
password: root
druid:
#2.連接池配置
#初始化連接池的連接數(shù)量 大小,最小,最大
initial-size: 5
min-idle: 5
max-active: 20
#配置獲取連接等待超時的時間
max-wait: 60000
#配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
min-evictable-idle-time-millis: 30000
# 檢查數(shù)據(jù)庫
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: true
test-on-return: false
# 是否緩存preparedStatement,也就是PSCache 官方建議MySQL下建議關閉 個人建議如果想用SQL防火墻 建議打開
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
# 配置監(jiān)控統(tǒng)計攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計,'wall'用于防火墻
filter:
stat:
merge-sql: true
slow-sql-millis: 5000
#3.基礎監(jiān)控配置
web-stat-filter:
enabled: true
url-pattern: /*
#設置不統(tǒng)計哪些URL
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
session-stat-enable: true
session-stat-max-count: 100
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: true
#設置監(jiān)控頁面的登錄名和密碼
#監(jiān)控頁訪問:http://localhost:端口號/項目名稱/druid/login.html
login-username: admin
login-password: admin
allow: 127.0.0.1
#deny: 192.168.1.100
到此這篇關于SpringBoot構建ORM框架的方法步驟的文章就介紹到這了,更多相關SpringBoot構建ORM框架內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java報錯sun.misc.Unsafe.park(Native Method)問題
這篇文章主要介紹了Java報錯sun.misc.Unsafe.park(Native Method)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
java.math包下計算浮點數(shù)和整數(shù)的類的實例
這篇文章主要介紹了java.math包下計算浮點數(shù)和整數(shù)的類的實例代碼,本文通過使用BigDecimal進行浮點數(shù)比較給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02
SpringBoot中動態(tài)數(shù)據(jù)源是實現(xiàn)與用途
這篇文章主要是來和大家討論一下SpringBoot中動態(tài)數(shù)據(jù)源是實現(xiàn)與用途,文中的示例代碼簡潔易懂,具有一定的學習價值,感興趣的可以了解一下2023-08-08
SpringBoot利用隨機鹽值實現(xiàn)密碼的加密與驗證
這篇文章主要為大家詳細介紹了SpringBoot如何利用隨機鹽值實現(xiàn)密碼的加密與驗證,文中的示例代碼講解詳細,有需要的小伙伴可以參考下2024-02-02
Spring Security OAuth2 token權限隔離實例解析
這篇文章主要介紹了Spring Security OAuth2 token權限隔離實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-11-11

