摘要:移动易后台实现外部数据库连接要实现外置数据库,即上层开发人员不关心下层数据库的实现,在项目中需要针对不同数据库修改文件以及在项目中添加依赖包。本文主要介绍移动易后台如何实现同不同数据源的连接,数据源包括,。
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
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67452.html
摘要:简单概述本项目为移动易开源组合套件,包含后台服务端,提供了一个基础的后台框架前端,提供了一个与后端连接的演示。移动易是由移动互联网爱好人士自发建立的一个开源社区,主要产品是移动易开源组合套件,包含移动后端服务器,移动前端混合。 简单概述 本项目为移动易开源APP组合套件,包含后台服务端,提供了一个基础的APP后台框架;前端APP,提供了一个与后端连接的演示APP。 移动易是由移动互联网...
摘要:什么是移动易开源组合套件本项目为移动易开源组合套件,包含后台服务端,提供了一个基础的后台框架前端,提供了一个与后端连接的演示。公开课视频和资料下载腾讯课堂在线学习资料视频截图讨论社区群 什么是移动易开源APP组合套件? 本项目为移动易开源APP组合套件,包含后台服务端,提供了一个基础的APP后台框架;前端APP,提供了一个与后端连接的演示APP。 为什么要有公开课? 初学者,刚刚开始...
阅读 3679·2021-11-24 10:23
阅读 2727·2021-09-06 15:02
阅读 1240·2021-08-23 09:43
阅读 2329·2019-08-30 15:44
阅读 3014·2019-08-30 13:18
阅读 750·2019-08-23 16:56
阅读 1716·2019-08-23 16:10
阅读 495·2019-08-23 15:08