av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

springBoot下實現(xiàn)java自動創(chuàng)建數(shù)據(jù)庫表

瀏覽:2日期:2023-02-27 16:33:43
SpringBoot環(huán)境啟動項目創(chuàng)建數(shù)據(jù)庫表使用環(huán)境

windows+eclipse+mysql+navicat

步驟

1.創(chuàng)建SpringBoot項目

2.新建數(shù)據(jù)庫,配置連接信息

3.編寫初始化數(shù)據(jù)庫表類

4.運行查看結(jié)果

1.創(chuàng)建SpringBoot項目

關(guān)于如何創(chuàng)建SpringBoot項目不再詳細(xì)描述,只要創(chuàng)建一個可以運行的SpringBoot項目就行。

2.新建數(shù)據(jù)庫,配置連接信息

2.1 新建數(shù)據(jù)庫

打開Navicat新建一個Mysql連接(連接信息如用戶名,密碼記好,下面配置連接信息要用),建立好連接后新建一個數(shù)據(jù)庫,設(shè)置數(shù)據(jù)庫名稱為'nfsj',這個根據(jù)自己喜好設(shè)置,記得在下面配置信息修改就行。

2.2 配置連接信息

項目中找到如下圖文件,打開文件添加配置:

springBoot下實現(xiàn)java自動創(chuàng)建數(shù)據(jù)庫表

打開上述文件,添加如下代碼:

# datasourcefolivora.datasource.url=jdbc:mysql://localhost:3306/nfsj?useUnicode=true&characterEncoding=utf-8folivora.datasource.username=rootfolivora.datasource.password=123456folivora.datasource.driver-class-name=com.mysql.jdbc.Driver

注意:這里的配置信息天上你創(chuàng)建數(shù)據(jù)庫時的配置信息。

3.編寫初始化數(shù)據(jù)庫表類

在項目目錄src/main/java下新建一個包,報名任意,在包下新建一個類,類名稱為”InitSysAdminDivisions.java'(類名稱也可以自己命名)。

InitSysAdminDivisions.java

package cn.idatatech.folivora.modules.sys.common;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.annotation.PostConstruct;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Repository;//SpringBoot單元測試啟動類注解//@RunWith(SpringRunner.class)//@SpringBootTest//@Component@Repository //繼承自@Component,作用于持久層/** * 如果配置文件沒有在默認(rèn)目錄下,使用注解@PropertySource獲取,下面演示的是在多配置文件中獲取相同屬性名的值,以后置為準(zhǔn) * 單配置文件只要一個路徑參數(shù)就可以 *///@PropertySource({'classpath:application.properties','classpath:config/config.properties'}) public class InitSysAdminDivisions {@Value(value = '${folivora.datasource.driver-class-name}')private String driver; @Value(value = '${folivora.datasource.url}')private String url; @Value(value = '${folivora.datasource.username}')private String userName;@Value(value = '${folivora.datasource.password}')private String password;@PostConstructpublic void init() throws SQLException, ClassNotFoundException{//連接數(shù)據(jù)庫Class.forName(driver);//測試url中是否包含useSSL字段,沒有則添加設(shè)該字段且禁用if( url.indexOf('?') == -1 ){url = url + '?useSSL=false' ;}else if( url.indexOf('useSSL=false') == -1 || url.indexOf('useSSL=true') == -1 ){url = url + '&useSSL=false';}Connection conn = DriverManager.getConnection(url, userName, password);Statement stat = conn.createStatement();//獲取數(shù)據(jù)庫表名ResultSet rs = conn.getMetaData().getTables(null, null, 'sys_admin_divisions', null);// 判斷表是否存在,如果存在則什么都不做,否則創(chuàng)建表if( rs.next() ){return;}else{// 先判斷是否純在表名,有則先刪除表在創(chuàng)建表//stat.executeUpdate('DROP TABLE IF EXISTS sys_admin_divisions;CREATE TABLE sys_admin_divisions('//創(chuàng)建行政區(qū)劃表stat.executeUpdate('CREATE TABLE sys_admin_divisions('+ 'ID varchar(32) NOT NULL COMMENT ’行政區(qū)劃ID(行政區(qū)劃代碼)這里不使用32位的UUID,使用全數(shù)字的行政區(qū)域代碼作為ID(如:440000)’,'+ 'TYPE varchar(50) DEFAULT NULL COMMENT ’類型(1省級 2市級 3區(qū)縣)’,'+ 'CODE varchar(50) DEFAULT NULL COMMENT ’字母代碼’,'+ 'NAME varchar(100) DEFAULT NULL COMMENT ’名稱’,'+ 'PINYIN varchar(100) DEFAULT NULL COMMENT ’拼音’,'+ 'PARENT_ID varchar(32) DEFAULT NULL COMMENT ’上級行政區(qū)劃數(shù)字代碼’,'+ 'IS_DISPLAY int(1) DEFAULT NULL COMMENT ’是否顯示( 0:否 1:是 )’,'+ 'SORT bigint(20) DEFAULT NULL COMMENT ’排序標(biāo)識’,'+ 'DEL_FLAG int(1) DEFAULT NULL COMMENT ’刪除標(biāo)識(0:正常 1:已刪除)’,'+ 'PRIMARY KEY (ID)'+ ') ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’行政區(qū)劃 (省市區(qū))’;');}// 釋放資源stat.close();conn.close();}}

注:上面的建表邏輯是先判斷數(shù)據(jù)庫中是否存在要創(chuàng)建的表,如果有則返回不做任何操作。如果數(shù)據(jù)庫中不存在要創(chuàng)建的表,則創(chuàng)建新表。具體邏輯可以根據(jù)自己需求定義。

去掉判斷數(shù)據(jù)庫中是否存在表的判斷操作,也可以使用注釋掉的如果存在表則先刪除表在創(chuàng)建表(這樣會刪除原表中的數(shù)據(jù))。

4.運行查看結(jié)果

找到項目中的Application.java類,運行該類,等運行完畢后再打開navicate查看自己的數(shù)據(jù)庫,發(fā)現(xiàn)數(shù)據(jù)庫中已經(jīng)創(chuàng)建好了一個表為'sys_admin_divisions'的表和表中的相關(guān)字段。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲免费一区二区 | 国产在线精品一区二区 | 精品国产欧美 | 欧美日韩一卡二卡 | 毛片免费视频 | 九九亚洲精品 | 国产精品96久久久久久 | 91欧美| 亚洲导航深夜福利涩涩屋 | 日韩超碰在线 | h片免费看 | 国产精品久久久亚洲 | 免费黄色片在线观看 | av影音在线 | 日韩精品 电影一区 亚洲 | 久久精品一区二区三区四区 | 国产精品国产三级国产aⅴ中文 | 日本国产一区二区 | 精品一区二区三区不卡 | 欧美成人专区 | 欧产日产国产精品99 | 欧美激情一区二区三级高清视频 | 91精品国产手机 | 99久9| 亚洲欧洲日韩精品 中文字幕 | 男人天堂网址 | 亚洲一区二区在线播放 | 亚洲一区免费在线 | 欧美综合一区二区三区 | 国产精品成人品 | 国产在线精品一区二区 | 91在线观看网址 | 91精品久久久久久久久中文字幕 | 日韩视频一区二区在线 | 老司机免费视频 | 三区四区在线观看 | 国产精品乱码一区二三区小蝌蚪 | 精品久久久久久亚洲综合网站 | 欧美中文字幕在线观看 | 三级成人在线 | 正在播放亚洲 |