摘要:移动易后台实现外部数据库连接要实现外置数据库,即上层开发人员不关心下层数据库的实现,在项目中需要针对不同数据库修改文件以及在项目中添加依赖包。本文主要介绍移动易后台如何实现同不同数据源的连接,数据源包括,。
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.git
3.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=oracle
4.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文件,添加如下依赖:
com.microsoft.sqlserver
sqljdbc4
4.0
4.3.2、接着在application.properties 文件中添加对数据源的配置,如下:
spring.datasource.url=jdbc:sqlserver://localhost:1433;DatabaseName=yidongyi;
spring.datasource.username=use_c
spring.datasource.password=123456
4.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
GO
4.4、PostgreSQL数据源配置
4.4.1、首先在pom.xml文件中添加PostgreSQL的依赖包(这里用的是postgresql 版本9.4.1208-jdbc42-atlassian-hosted),如下
postgresql
postgresql
9.4.1208-jdbc42-atlassian-hosted
4.4.2、 接着在application.properties 文件夹下添加对PostgreSQL数据源的配置,如下:
spring.datasource.url = jdbc:postgresql://localhost:5432/yidongyi
spring.datasource.username=postgres
spring.datasource.password=123456
4.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。 为什么要有公开课? 初学者,刚刚开始...
阅读 4002·2021-11-24 10:23
阅读 2963·2021-09-06 15:02
阅读 1434·2021-08-23 09:43
阅读 2534·2019-08-30 15:44
阅读 3245·2019-08-30 13:18
阅读 1017·2019-08-23 16:56
阅读 1891·2019-08-23 16:10
阅读 763·2019-08-23 15:08