亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

10個(gè)基于java的cms網(wǎng)站內容管理系統(EruptErupt框架底層應用JPA持久化,預置創(chuàng )建系統表和數據)

優(yōu)采云 發(fā)布時(shí)間: 2022-04-07 04:18

  10個(gè)基于java的cms網(wǎng)站內容管理系統(EruptErupt框架底層應用JPA持久化,預置創(chuàng )建系統表和數據)

  本文主要講解“如何搭建Java管理系統”,感興趣的朋友不妨看看。本文介紹的方法簡(jiǎn)單、快速、實(shí)用。讓小編帶你學(xué)習“如何搭建Java管理系統”吧!

  Erupt 是一個(gè)通用的后臺管理框架。據說(shuō)具有超低代碼量、零前端代碼、零CURD操作、無(wú)需建表、純Java注解開(kāi)發(fā)等特點(diǎn)。號稱(chēng)能在三分鐘內搭建完整的后臺管理系統。

  誒~ 好像挺受歡迎的。有這么神奇嗎?一起用起來(lái)感受一下吧。

  首先,讓我們構建環(huán)境。目前,Erupt 支持 Java 版本 1.8.0 及以上版本,Spring Boot 版本 2.0 及以上版本。

  輕松構建

  pom.xml 引入必要的jar包

  ????

????????

????????????org.springframework.boot

????????????spring-boot-starter

????????

????????

????????????mysql

????????????mysql-connector-java

????????

????????

????????

????????????xyz.erupt

????????????erupt-upms

????????????1.6.7

????????

????????

????????

????????????xyz.erupt

????????????erupt-security

????????????1.6.7

????????

????????

????????

????????????xyz.erupt

????????????erupt-web

????????????1.6.7

????????

????????

????????????org.springframework.boot

????????????spring-boot-starter-tomcat

????????????compile

????????

????

  application.yml 文件只需要簡(jiǎn)單的配置數據源,提前準備好數據庫即可。說(shuō)到數據庫,我就講一個(gè)小插曲。

  之前在Github上提交案例代碼的時(shí)候(最近發(fā)現有朋友已經(jīng)在數據庫上運行項目了,仔細看了一下里面的數據結構。,發(fā)現它是一個(gè)畢業(yè)設計。

  

  這個(gè)庫本身就是我運行demo case的一個(gè)測試庫,為了讓小伙伴們有更多的時(shí)間花在研究案例的技術(shù)點(diǎn)上,減少沒(méi)有技術(shù)含量的搭建環(huán)境的瑣事。

  我發(fā)現我這里沒(méi)有改密碼,也沒(méi)有刪除他們的庫。想用的話(huà)可以繼續用,但是玩了以后就不能亂用不屬于你的數據了!影響別人的學(xué)習是不好的。

  spring:

??datasource:

????url:?jdbc:mysql://47.93.6.5:3306/erupt2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

????username:?root

????password:?123456

??jpa:

????show-sql:?true

????generate-ddl:?true

????database-platform:?org.hibernate.dialect.MySQL5InnoDBDialect

????database:?mysql

??profiles:

????active:?dev

??mail:

????username:?xxxx@qq.com

????password:?xxxxxxx

????host:?smtp.qq.com

????properties:

??????mail.smtp.ssl.auth:?true

??????mail.smtp.ssl.enable:?true

??????mail.smtp.ssl.required:?true

server:

??port:?8888

  說(shuō)了一點(diǎn)題外話(huà),我們繼續~

  其實(shí)Erupt環(huán)境已經(jīng)搭建好了,誒~,就這樣結束了?

  我們什么都沒(méi)做,項目是一個(gè)空殼,我們沒(méi)有寫(xiě)一行代碼,看起來(lái)我們甚至沒(méi)有建一個(gè)表!

  

  別著(zhù)急,我們先啟動(dòng)項目,看到控制臺打印出很多建表語(yǔ)句和insert語(yǔ)句。這是因為 Erupt 框架的底層應用了 JPA 持久化,并且默認創(chuàng )建了一些系統表和數據。

  

  注意:Erupt 預設表只會(huì )在項目第一次啟動(dòng)時(shí)構建一次。如果要重新創(chuàng )建,需要刪除.Erupt文件(一般在項目工作區),獲取文件位置方法

  System.getProperty("user.dir")

  查看數據庫中創(chuàng )建的16個(gè)系統表,其中e_upms_user表是用戶(hù)表。默認只有一個(gè)管理員賬號,用戶(hù)名和密碼都爆了。

  

  然后我們訪(fǎng)問(wèn):8888/看看效果如何。有一個(gè)完整的登錄頁(yè)面。

  

  使用上面的用戶(hù)名和密碼直接登錄。Erupt 已經(jīng)預先實(shí)現了完整的權限控制等功能,到現在為止我們幾乎沒(méi)有寫(xiě)過(guò)任何代碼。搞定之后,搭建了一個(gè)基本的后臺管理系統,有點(diǎn)別扭。

  

  有趣的頁(yè)面

  那么問(wèn)題來(lái)了?如果要自定義頁(yè)面怎么辦?

  一開(kāi)始我們說(shuō)erupt是零前端代碼,都是基于Java注解開(kāi)發(fā)的,然后用Java注解寫(xiě)一個(gè)簡(jiǎn)單的頁(yè)面體驗。

  erupt 有兩個(gè)核心注解@Erupt、@EruptField

  注解的種類(lèi)很多,我就不一一列舉了。欲了解更多信息,請訪(fǎng)問(wèn)官方網(wǎng)站:

  下面我們定義一個(gè)Student類(lèi),加上@Erupt、@EruptField注解,這樣就算頁(yè)面和元素都寫(xiě)完了,是不是有點(diǎn)顛覆?

  /*

?*??@Erupt注解修飾在類(lèi)上,@EruptField注解修飾在字段上

?*??其他注解均為Jpa注解

?*/

@Getter

@Setter

@Erupt(name?=?"學(xué)生表",

????????power?=?@Power(importable?=?true,?export?=?true)

)

@Entity

//@Table(name?=?"t_student")

public?class?Student?extends?BaseModel?{

????@EruptField(

????????????views?=?@View(title?=?"學(xué)生姓名"),

????????????edit?=?@Edit(title?=?"學(xué)生姓名",?notNull?=?true,?search?=?@Search(vague?=?true))

????)

????private?String?studentName;

????@EruptField(

????????????views?=?@View(title?=?"所屬班級"),

????????????edit?=?@Edit(title?=?"所屬班級",?notNull?=?true)

????)

????private?String?studentClass;

????@EruptField(

????????????views?=?@View(title?=?"學(xué)生年齡"),

????????????edit?=?@Edit(title?=?"學(xué)生年齡",?notNull?=?true)

????)

????private?String?studentAge;

????@Lob

????@EruptField(

????????????views?=?@View(title?=?"學(xué)生性別"),

????????????edit?=?@Edit(title?=?"學(xué)生性別",?notNull?=?true)

????)

????private?String?studentSex;

????@EruptField(

????????????views?=?@View(title?=?"考核狀態(tài)"),

????????????edit?=?@Edit(title?=?"考核狀態(tài)",?notNull?=?true,?boolType?=?@BoolType(trueText?=?"通過(guò)",?falseText?=?"掛科"),?search?=?@Search)

????)

????private?Boolean?status;

}

  但是此時(shí)新創(chuàng )建的頁(yè)面并不會(huì )顯示出來(lái),我們需要在菜單維護中手動(dòng)創(chuàng )建映射關(guān)系來(lái)自定義一個(gè)菜單。類(lèi)型值必須是新創(chuàng )建的類(lèi)名 Student。

  

  保存刷新后,你會(huì )看到我們的新頁(yè)面出現了,頁(yè)面的功能很齊全,基本的操作,查詢(xún),導入導出功能都是自動(dòng)實(shí)現的。

  

  頁(yè)面增加了一條新的*敏*感*詞*,對應的Student表也多了一條記錄,這個(gè)持久化過(guò)程完全由框架完成。

  

  雖然 Erupt 框架對前后端代碼進(jìn)行了深度封裝,但它提供了豐富靈活的自定義接口來(lái)滿(mǎn)足我們的個(gè)性化需求。

  比如我們在輸入新的*敏*感*詞*的時(shí)候,想要屏蔽張三同學(xué),我們可以為頁(yè)面按鈕功能代理dataProxy實(shí)現自定義邏輯,為哪個(gè)按鈕代理實(shí)現相應的方法,比如beforeAdd和afterAdd 是對按鈕添加代理。

  @Getter

@Setter

@Erupt(name?=?"學(xué)生表",dataProxy?=?{StudentDataProxy.class},

????????power?=?@Power(importable?=?true,?export?=?true)

)

@Entity

//@Table(name?=?"t_student")

public?class?Student?extends?BaseModel?{

}

public?class?StudentDataProxy?implements?DataProxy?{

????@Override

????public?void?beforeAdd(Student?student)?{

????????//后臺字段校驗

????????if?("張三".equals(student.getStudentName()))?{

????????????throw?new?EruptApiErrorTip("名稱(chēng)禁止為張三!");

????????}

????}

????@Override

????public?void?afterAdd(Student?student)?{

????}

????@Override

????public?void?afterUpdate(Student?student)?{

????}

????@Override

????public?void?afterDelete(Student?student)?{

????}

?}

  當我們在頁(yè)面輸入一個(gè)叫張三的同學(xué)時(shí),就被成功屏蔽了。類(lèi)似的功能還有很多,這里就不舉例了??次臋n看文檔~

  

  如果我們想用傳統的方式開(kāi)發(fā)接口,不用擔心與 Erupt 的頁(yè)面生成規則沖突,完全不會(huì )受到影響。而且,Erupt 內部集成了 JPA,并提供了現成的 dao 接口。您可以通過(guò)調用相應的 API 來(lái)開(kāi)始開(kāi)發(fā)。

  

  不想手工寫(xiě)Java代碼也沒(méi)關(guān)系,Erupt也提供了代碼*敏*感*詞*,可以自定義Java類(lèi)名和字段名,可以生成代碼,直接復制就好。

  

  

  說(shuō)到這里,我只介紹了 Erupt 的基本特性,主要是讓朋友知道有這么敏捷的工具。

  不僅如此,它還支持豐富的數據類(lèi)型,內置定時(shí)任務(wù)管理、多表聯(lián)合查詢(xún)、前后端分離部署、接口權限、操作記錄、多數據源、郵件等功能系統、黑白名單等。調用API即可使用。

  

  至此,相信大家對“如何搭建Java管理系統”有了更深入的了解,那么就來(lái)試一試吧!這里是易速云網(wǎng)站,更多相關(guān)內容可在相關(guān)頻道查詢(xún),關(guān)注我們,繼續學(xué)習!

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久