久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - 使用Springboot搭建的web應用,運行中,數(shù)據(jù)庫表可否自動生成使用?

瀏覽:136日期:2022-06-10 15:01:01

問題描述

1.先說前提:使用spring boot搭建的spring應用;使用了Hibernate,在pom中添加了spring-boot-starter-data-jpa;數(shù)據(jù)庫是MySql;開發(fā)工具是IDEA。

我以前沒有做過web開發(fā),對數(shù)據(jù)庫也了解的也不多,所以我下面要說的,如果有不現(xiàn)實或者實現(xiàn)方式不好的情況,希望大家不吝賜教,多謝!!

2.想達到的需求:比如說,我這個數(shù)據(jù)庫中要錄入多個學校的若干個學生的信息。數(shù)據(jù)量可能非常大,我不想把那么多學生信息放在同一個表中。我的設想是,每一所學校一個“XX學校學生信息表”(tbl_School_XX,比如“tbl_School_01”),然后把該校學生的信息錄入到那個表中。應用本身學校索引表(tbl_School_Index),這個表中有一個索引字段(比如index)來存各個學校的表名(比如“tbl_School_01”)。·當要錄入新的學校的學生信息,則在添加學校時,應用會自動生成一個新的“XX學校學生信息表”,應用會自動起好表名(比如“tbl_School_01”),用這個新表來存新學校的學生的信息。同時,這個表名也會添加到學校索引表(tbl_School_Index)的索引字段(index)。·當要讀取學生信息,或者當要錄入現(xiàn)有學校的新學生信息時,則會從學校索引表(tbl_School_Index)中找出索引字段(index)中的數(shù)據(jù)(比如“tbl_School_01”),然后讀/寫表tbl_School_01。

如圖java - 使用Springboot搭建的web應用,運行中,數(shù)據(jù)庫表可否自動生成使用?

3.我目前遇上的困難是:(1)我知道關系型數(shù)據(jù)庫不允許表中表,所以才想出這么一種辦法,不知道是否可行,或者說,是否恰當。(2)當我新建一個實體類(@Entity)時,配置好屬性和get/set方法后,運行應用,會在數(shù)據(jù)庫中生成對應的一個表,可是我不需要生成那個表,我是需要當添加學校時,動態(tài)的生成對應那個實體類的表。

4.其他想法

我有想過把幾個學校的所有學生的信息放在一個表中,然后在那個表里添加一個“學校”字段來標注該學生是哪所學校的,但是我怕當數(shù)據(jù)量變大時,這個表的使用會出各種問題。

5.我說的可能有點啰嗦,多謝各位認真看完,望能指點迷經,多謝!

問題解答

回答1:

當要錄入新的學校的學生信息,則在添加學校時,應用會自動生成一個新的“XX學校學生信息表”,應用會自動起好表名(比如“tbl_School_01”),用這個新表來存新學校的學生的信息。同時,這個表名也會添加到學校索引表(tbl_School_Index)的索引字段(index)。

首先根據(jù)你目前的描述(目前的描述沒有涉及到一些需要跨表之類的操作)這種方式是可行的,當添加學生時,如果學校不存在,需要插入學校索引,并新建相關表然后插入學生信息,這個可以用代碼實現(xiàn)(這是在不重啟應用的情況下),不重啟應用的情況下,用配置我不知道能否實現(xiàn),如果有人知道,麻煩告知,謝謝。

(2)當我新建一個實體類(@Entity)時,配置好屬性和get/set方法后,運行應用,會在數(shù)據(jù)庫中生成對應的一個表,可是我不需要生成那個表,我是需要當添加學校時,動態(tài)的生成對應那個實體類的表。

你這里說的是應用可以重啟,如果應用可以重啟,那是可以通過配置來插入數(shù)據(jù),并且自動建表的。需要對hibernate進行配置,并把相應SQL的腳本放到resources下面就可以了。

application.properties中hibernate的配置

spring.datasource.driverClassName=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=root# 1spring.jpa.properties.hibernate.hbm2ddl.auto=updatespring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect# 2spring.jpa.show-sql=true

sql腳本存放

java - 使用Springboot搭建的web應用,運行中,數(shù)據(jù)庫表可否自動生成使用?

相關文章:
主站蜘蛛池模板: 敦化市| 攀枝花市| 常州市| 侯马市| 威信县| 嘉义县| 阿坝| 宁城县| 游戏| 乌兰县| 衡南县| 徐州市| 河西区| 沙雅县| 翁源县| 涟水县| 开江县| 大兴区| 吉林省| 蒙山县| 碌曲县| 兰西县| 芦溪县| 西昌市| 高清| 安泽县| 和龙市| 晋中市| 莆田市| 会昌县| 青州市| 鹤峰县| 岑溪市| 铅山县| 平和县| 浪卡子县| 六枝特区| 闽清县| 遂宁市| 福安市| 榆中县|