摘要:移動易后臺實現外部數據庫連接要實現外置數據庫,即上層開發人員不關心下層數據庫的實現,在項目中需要針對不同數據庫修改文件以及在項目中添加依賴包。本文主要介紹移動易后臺如何實現同不同數據源的連接,數據源包括,。
1、移動易后臺實現外部數據庫連接
要實現外置數據庫,即上層開發人員不關心下層數據庫的實現,在Spring boot項目 中需要針對不同數據庫修改application.properties文件以及在項目中添加依賴包 。本文主要介紹移動易后臺如何實現同不同數據源的連接,數據源包括MySQL,Oracle,MSSQL,PostgreSQL。
移動易官方網站
2、前期準備Java 8
熟悉Maven項目
熟悉Spring boot
數據及驅動包如下表(數據庫安裝及配置見官網教程)
數據庫 | 版本 | JDBC驅動包 | 下載地址 |
---|---|---|---|
MySQL | 64位 MySQL14.14 | mysql-connector-java(5.1.41) | download |
Oracle | 64位 Oracle 11g 11.2.0.1.0 | ojdbc14(10.2.03) | download |
MSSQL | 64位 Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 | sqljdbc4(4.0) | download |
PostgreSQL | 64位 PostgreSQL 9.6 | postgresql(9.4.1208-jdbc42-atlassian-hosted) | download |
git clone https://git.oschina.net/sectong/yidongyi.git3.2、將下載的項目import至eclipse中
- file->import->git->existing local repository
- 項目結構如下3.3、右擊項目team->switch to ->new branch針對不同的數據庫創建不同的分支,如下所示: 4.2.3、接著在application.properties 文件夾中添加Oracle數據庫的配置信息
spring.datasource.url = jdbc:oracle:thin:@localhost:1521:ORCL spring.datasource.username=system spring.datasource.password=oracle4.2.4、最后在Oracle數據庫中創建相應表并添加約束,如下所示:
--創建用戶表-- CREATE TABLE users ( id NUMBER(11) NOT NULL, username VARCHAR(45) NOT NULL, password VARCHAR(100) NOT NULL, image VARCHAR(200) DEFAULT"", enabled VARCHAR(45) DEFAULT "1" ); --為用戶表添加約束-- ALTER TABLE users ADD CONSTRAINT PK_ID PRIMARY KEY(id) ADD CONSTRAINT UNI_NAME UNIQUE(username); --為用戶表id字段創建序遞增序列-- CREATE SEQUENCE userid_seq START WITH 12 INCREMENT BY 1; --為用戶表添加觸發器實現id字段自增-- CREATE TRIGGER userid_trigger BEFORE INSERT ON users FOR EACH ROW BEGIN SELECT userid_seq.nextval into :new.id FROM dual; END; --創建管理員表-- CREATE TABLE authorities ( id NUMBER(11) NOT NULL, username VARCHAR(45) NOT NULL, authority VARCHAR(45) NOT NULL ); --為管理員表添加約束-- ALTER TABLE authorities ADD CONSTRAINT PK_AUID PRIMARY KEY(id); --為管理員表id字段創建遞增序列-- CREATE SEQUENCE authorityid_seq START WITH 14 INCREMENT BY 1; --為管理員表設置觸發器-- CREATE TRIGGER authorityid_trigger BEFORE INSERT ON authorities FOR EACH ROW BEGIN SELECT authorityid_seq.nextval into :new.id FROM dual; END; --創建news表-- CREATE TABLE news ( id NUMBER(11) NOT NULL PRIMARY KEY, title VARCHAR(45) NOT NULL, img VARCHAR(45) NOT NULL, content VARCHAR(200), datetime DATE );4.3、MSSQL 數據源的配置 4.3.1、首先添加依賴包(這里用的是sqljdbc4 版本4.0),雙擊pom.xml文件,添加如下依賴:
4.3.2、接著在application.properties 文件中添加對數據源的配置,如下:com.microsoft.sqlserver sqljdbc4 4.0
spring.datasource.url=jdbc:sqlserver://localhost:1433;DatabaseName=yidongyi; spring.datasource.username=use_c spring.datasource.password=1234564.3.3、最后在MSSQL中創建表以及約束:
--創建authorities表-- USE [yidongyi] GO /****** Object: Table [dbo].[authorities] Script Date: 07/03/2017 13:58:04 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[authorities]( [id] [int] IDENTITY(14,1) NOT NULL, [username] [varchar](50) NOT NULL, [authority] [varchar](50) NOT NULL, CONSTRAINT [PK_authorities] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO --創建users表-- USE [yidongyi] GO /****** Object: Table [dbo].[users] Script Date: 07/03/2017 13:59:47 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[users]( [id] [int] IDENTITY(12,1) NOT NULL, [username] [varchar](100) NOT NULL, [password] [varchar](300) NOT NULL, [image] [varchar](200) NOT NULL, [enabled] [varchar](100) NOT NULL, CONSTRAINT [PK_users] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO ALTER TABLE [dbo].[users] ADD CONSTRAINT [DF_users_image] DEFAULT ("") FOR [image] GO ALTER TABLE [dbo].[users] ADD CONSTRAINT [DF_users_enabled] DEFAULT ("1") FOR [enabled] GO --創建news表-- USE [yidongyi] GO /****** Object: Table [dbo].[news] Script Date: 07/03/2017 14:00:21 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[news]( [id] [int] NOT NULL, [title] [varchar](50) NOT NULL, [img] [varchar](50) NOT NULL, [content] [varchar](200) NOT NULL, [datetime] [date] NOT NULL, CONSTRAINT [PK_news] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO4.4、PostgreSQL數據源配置 4.4.1、首先在pom.xml文件中添加PostgreSQL的依賴包(這里用的是postgresql 版本9.4.1208-jdbc42-atlassian-hosted),如下
4.4.2、 接著在application.properties 文件夾下添加對PostgreSQL數據源的配置,如下:postgresql postgresql 9.4.1208-jdbc42-atlassian-hosted
spring.datasource.url = jdbc:postgresql://localhost:5432/yidongyi spring.datasource.username=postgres spring.datasource.password=1234564.4.3、最后在PostgreSQL數據庫中創建表以及約束:
--創建users表-- CREATE TABLE public.users ( id integer NOT NULL DEFAULT nextval("users_id_seq"::regclass), image text COLLATE pg_catalog."default" NOT NULL DEFAULT ""::text, password text COLLATE pg_catalog."default" NOT NULL, username text COLLATE pg_catalog."default" NOT NULL, enabled text COLLATE pg_catalog."default" NOT NULL DEFAULT 1, CONSTRAINT users_pkey PRIMARY KEY (id) ) WITH ( OIDS = FALSE ) TABLESPACE pg_default; ALTER TABLE public.users OWNER to postgres; --創建authorities表-- CREATE TABLE public.authorities ( id integer NOT NULL DEFAULT nextval("authorities_id_seq"::regclass), username text COLLATE pg_catalog."default" NOT NULL, authority text COLLATE pg_catalog."default" NOT NULL, CONSTRAINT authorities_pkey PRIMARY KEY (id) ) WITH ( OIDS = FALSE ) TABLESPACE pg_default; ALTER TABLE public.authorities OWNER to postgres; --創建news表-- CREATE TABLE public.news ( id integer NOT NULL DEFAULT nextval("news_id_seq"::regclass), title text COLLATE pg_catalog."default" NOT NULL, img text COLLATE pg_catalog."default" NOT NULL, content text COLLATE pg_catalog."default" NOT NULL, datetime date NOT NULL, CONSTRAINT news_pkey PRIMARY KEY (id) ) WITH ( OIDS = FALSE ) TABLESPACE pg_default; ALTER TABLE public.news OWNER to postgres;4.5、最終效果 4.5.1、 MysSQL 4.5.2、 Oracle 4.5.3、 MSSQL 4.5.4、 PostgreSQL
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/67452.html
摘要:簡單概述本項目為移動易開源組合套件,包含后臺服務端,提供了一個基礎的后臺框架前端,提供了一個與后端連接的演示。移動易是由移動互聯網愛好人士自發建立的一個開源社區,主要產品是移動易開源組合套件,包含移動后端服務器,移動前端混合。 簡單概述 本項目為移動易開源APP組合套件,包含后臺服務端,提供了一個基礎的APP后臺框架;前端APP,提供了一個與后端連接的演示APP。 移動易是由移動互聯網...
摘要:什么是移動易開源組合套件本項目為移動易開源組合套件,包含后臺服務端,提供了一個基礎的后臺框架前端,提供了一個與后端連接的演示。公開課視頻和資料下載騰訊課堂在線學習資料視頻截圖討論社區群 什么是移動易開源APP組合套件? 本項目為移動易開源APP組合套件,包含后臺服務端,提供了一個基礎的APP后臺框架;前端APP,提供了一個與后端連接的演示APP。 為什么要有公開課? 初學者,剛剛開始...
閱讀 3732·2021-11-24 10:23
閱讀 2778·2021-09-06 15:02
閱讀 1282·2021-08-23 09:43
閱讀 2360·2019-08-30 15:44
閱讀 3053·2019-08-30 13:18
閱讀 789·2019-08-23 16:56
閱讀 1751·2019-08-23 16:10
閱讀 546·2019-08-23 15:08