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ù)庫驅(qū)動,這里是Mysql所以就選擇Mysql的驅(qū)動,PG的就選擇PG--> ? ? ? ? <dependency> ? ? ? ? ? ? <groupId>mysql</groupId> ? ? ? ? ? ? <artifactId>mysql-connector-java</artifactId> ? ? ? ? ? ? <version>8.0.28</version> ? ? ? ? </dependency> ? ? ? ? <!-- ? ? ? ?第三步(可選):數(shù)據(jù)庫連接池,可以使用druid的連接池。springboot-jdbc已經(jīng)默認依賴了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 內(nèi)部進一步封裝了 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框架內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot中使用JdbcTemplate訪問Oracle數(shù)據(jù)庫的案例詳解
JdbcTemplate是Spring框架中的一個核心類,用于簡化Java應用程序與關系型數(shù)據(jù)庫的交互操作,本文給大家介紹SpringBoot中使用JdbcTemplate訪問Oracle數(shù)據(jù)庫的方法,感興趣的朋友跟隨小編一起看看吧2023-10-10基于Java實現(xiàn)的圖的廣度優(yōu)先遍歷算法
這篇文章主要介紹了基于Java實現(xiàn)的圖的廣度優(yōu)先遍歷算法,需要的朋友可以參考下2014-07-07springboot下添加全局異常處理和自定義異常處理的過程解析
在spring項目中,優(yōu)雅處理異常,好處是可以將系統(tǒng)產(chǎn)生的全部異常統(tǒng)一捕獲處理,自定義的異常也由全局異常來捕獲,如果涉及到validator參數(shù)校驗器使用全局異常捕獲也是較為方便,這篇文章主要介紹了springboot下添加全局異常處理和自定義異常處理,需要的朋友可以參考下2023-12-12以Json形式的數(shù)據(jù)格式實現(xiàn)JMeter參數(shù)化
本文以小項目學院管理系統(tǒng)為例,給大家分享以Json形式的數(shù)據(jù)格式實現(xiàn)JMeter參數(shù)化的相關知識,包括添加元件操作步驟及使用用戶參數(shù)組件實現(xiàn)參數(shù)化的方法,感興趣的朋友跟隨小編一起看看吧2021-05-05詳解全局事務注解@GlobalTransactional的識別
這篇文章主要為大家介紹了詳解全局事務注解@GlobalTransactional的識別源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12