关于【达梦数据库安装】,达梦数据库的数据源配置,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
内容导航:1、达梦数据库安装:国产化笔记 - 达梦数据库在SpringBoot中的使用2、达梦数据库安装,达梦数据库的数据源配置1、达梦数据库安装:国产化笔记 - 达梦数据库在SpringBoot中的使用
一、Sprintboot + JPA + Druid + 达梦数据库(DM7)
(1)在 pom.xml 中引入达梦数据库驱动与达梦Hibernate方言。
首先,你在网上找到的文档基本都是下面这样的,通过外部引用的方式,这种落后的方法该摒弃了。
<!-- 达梦数据库 --><dependency> <groupId>com.dm</groupId> <artifactId>dmjdbc7</artifactId> <version>1.7.0</version> <scope>system</scope> <systemPath>${basedir}/lib/Dm7JdbcDriver17.jar</systemPath> </dependency><dependency> <groupId>com.dm.dialect</groupId> <artifactId>hibernate4</artifactId> <version>4.0</version> <scope>system</scope> <systemPath>${basedir}/lib/DmDialect-for-hibernate4.0.jar</systemPath> </dependency>
达梦数据的驱动已经上传到maven中央仓库,国内的镜像如阿里也有,直接使用在线引入的方式。
<!--达梦数据库驱动--><dependency> <groupId>com.dameng</groupId> <artifactId>Dm7JdbcDriver17</artifactId> <version>7.6.0.165</version></dependency><!--达梦数据库方言--><dependency> <groupId>com.dameng</groupId> <artifactId>DmDialect-for-hibernate4.0</artifactId> <version>8.1.1.49</version></dependency>
数据库驱动版本需要与数据库版本相同,比如DM7就需要对应DM7的驱动,具体的版本号version可以上这个网站查询:https://jar-download.com/artifacts/com.dameng/,如果需要离线引入,也可以在这个网站下载jar包。
(2)在 application.yml 中配置数据库连接信息和druid配置信息
spring: #数据库配置 datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: dm.jdbc.driver.DmDriver url: jdbc:dm://localhost:5236/数据库?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 username: 用户名 password: 密码 druid: initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT1FROMDUAL testWhileIdle: true testOnBorrow: false testOnReturn: false filters: stat,wall,log4j #wall表示排除防火请 logSlowSql: true #jpa配置 jpa: properties: hibernate: dialect: org.hibernate.dialect.DmDialect
(3)创建Entity类
import com.fasterxml.jackson.annotation.JsonFormat;import com.monster.model.entity.base.BaseEntity;import com.monster.model.enums.commonEnums.OsTypeEnum;import com.monster.model.enums.userEnums.VolunteerStatusEnum;import java.util.Date;import javax.persistence.*;import lombok.Data;import org.hibernate.annotations.GenericGenerator;import org.locationtech.jts.geom.Geometry;import org.springframework.data.annotation.CreatedDate;import org.springframework.format.annotation.DateTimeFormat;/** * @author Administrator */@Entity@Data@Table(name = "PEOPLE")public class People { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private Integer id; @Column(name = "NAME") private String name; @Column(name = "PHONE") private String phone; @Column(name = "PASS") private String pass; @Override public String toString() { return "People{" + "id=" + id + ", name='" + name + '\'' + ", phone='" + phone + '\'' + ", pass='" + pass + '\'' + '}'; }}
(4)创建Repository
import com.monster.model.entity.Test.People;import com.monster.model.entity.users.User;import com.monster.repository.base.BaseRepository;import java.util.List;import java.util.Map;import org.springframework.data.jpa.repository.Query;/** * @author Administrator */public interface PeopleRepository extends BaseRepository<People>{ @Query( nativeQuery = true, value = "select * from TESTER.PEOPLE" ) List<Map<String, Object>> findAllToMap();}
(5)创建Junit测试类
import com.monster.repository.Test.PeopleRepository;import lombok.extern.slf4j.Slf4j;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner; /** * @author Administrator */@RunWith(SpringRunner.class)//启动Spring@SpringBootTestpublic class JpaTest { @Autowired private PeopleRepository peopleRepository; @Test public void getPeoples() throws Exception { log.info("***********************************BEGIN**************************************"); peopleRepository.findAll().stream().forEach(people->System.out.println(people.toString())); log.info("************************************END***************************************"); }}
(5)从控制台可以看到查询成功并打印了数据库用户信息。
二、Sprintboot + Mybatis + Druid + 达梦数据库(DM7)
(1)在 pom.xml 中引入达梦数据库驱动与达梦Hibernate方言。
<!--达梦数据库驱动--><dependency> <groupId>com.dameng</groupId> <artifactId>Dm7JdbcDriver17</artifactId> <version>7.6.0.165</version></dependency><!--达梦数据库方言--><dependency> <groupId>com.dameng</groupId> <artifactId>DmDialect-for-hibernate4.0</artifactId> <version>8.1.1.49</version></dependency>
数据库驱动版本需要与数据库版本相同,比如DM7就需要对应DM7的驱动,具体的版本号version可以上这个网站查询:https://jar-download.com/artifacts/com.dameng/,如果需要离线引入,也可以在这个网站下载jar包。
(2)在 application.yml 中配置数据库连接信息和druid配置信息
spring: #数据库配置 datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: dm.jdbc.driver.DmDriver url: jdbc:dm://localhost:5236/数据库?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 username: 用户名 password: 密码 druid: initialSize: 5 minIdle: 5 maxActive: 20 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT1FROMDUAL testWhileIdle: true testOnBorrow: false testOnReturn: false filters: stat,wall,log4j #wall表示排除防火请 logSlowSql: true#mybatis配置(注意,mybatis的配置不在sprinng层级下面,而是同级) mybatis: configuration: logImpl: org.apache.ibatis.logging.stdout.StdOutImpl #开启mybatis sql 控制台打印 typeAliasesPackage: com.monster.model.entityVo #返回结果映射的VO包路径 mapperLocations: classpath:mapper*.xml #mapper文件扫描路径
(3)创建对应的 EntityVo 类
import lombok.Data;@Datapublic class PeopleVo { private Integer ID; private String NAME; private String PHONE; private String PASS; @Override public String toString() { return "PeopleVo{" + "ID=" + ID + ", NAME='" + NAME + '\'' + ", PHONE='" + PHONE + '\'' + ", PASS='" + PASS + '\'' + '}'; }}
(4)创建对应的 Mapper 类
import com.monster.model.entityVo.test.PeopleVo;import java.util.List;import org.springframework.stereotype.Component;@Componentpublic interface PeopleMapper { /** * 查询所有用户 */ List<PeopleVo> findAll();}
(5)创建对应的 Mapper.xml 文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.monster.mapper.test.PeopleMapper"> <select id="findAll" resultType="com.monster.model.entityVo.test.PeopleVo"> select * from "TESTER"."PEOPLE" </select> </mapper>
(6)创建测试类
import com.monster.mapper.test.PeopleMapper;import lombok.extern.slf4j.Slf4j;import org.junit.Test;import org.junit.runner.RunWith;import org.mybatis.spring.annotation.MapperScan;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;@Slf4j@RunWith(SpringRunner.class)@SpringBootTest@MapperScan("com.monster.mapper")public class MybatisTest { @Autowired private PeopleMapper peopleMapper; @Test public void getPeoples() { log.info("***********************************BEGIN**************************************"); peopleMapper.findAll().stream().forEach(peopleVo->System.out.println(peopleVo.toString())); log.info("************************************END***************************************"); }}
(7)查询用户数据成功,控制台输出用户信息。
三、集成过程中可能出现的问题
(1)JPA集成过程中可能会出现异常:
未知的列名 unknown column
原因:表字段使用了小写
解决办法:所有表字段请使用大写
(2)Mybatis集成过程中可能会出现如下异常:
Caused by: dm.jdbc.driver.DMException: 初始化SSL环境失败at dm.jdbc.driver.DBError.throwException(DBError.java:630) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]at dm.jdbc.c.a.b(DBAccess.java:1078) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]at dm.jdbc.c.a.s(DBAccess.java:158) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]at dm.jdbc.driver.DmdbConnection.openConnection(DmdbConnection.java:660) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]at dm.jdbc.driver.DmDriver.do_connect(DmDriver.java:183) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]at dm.jdbc.driver.DmDriver.connect(DmDriver.java:458) ~[Dm8JdbcDriver18-8.1.1.49.jar:- 8.1.1.49 - Production]at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156) ~[druid-1.1.20.jar:1.1.20]at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218) ~[druid-1.1.20.jar:1.1.20]at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150) ~[druid-1.1.20.jar:1.1.20]at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1645) ~[druid-1.1.20.jar:1.1.20]at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1709) ~[druid-1.1.20.jar:1.1.20]at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:932) ~[druid-1.1.20.jar:1.1.20]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1922) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1864) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792) ~[spring-beans-5.2.4.RELEASE.jar:5.2.4.RELEASE]... 72 common frames omitted
原因:数据库开启了ssl验证
解决办法:在达梦数据库中运行以下代码关闭SSL验证并重启:
sp_set_para_value(2,'ENABLE_ENCRYPT',0);
相关的笔记:
国产化笔记 - 达梦数据库在国产操作系统上的安装与使用
国产化笔记 - 达梦数据库在windows上的安装与使用
2、达梦数据库安装,达梦数据库的数据源配置
一、环境准备
软件:
vmware workstation 16,如果是真机,进入raid卡控制器创建完raid后即可继续安装。
银河麒麟server v10 x86架构安装iso镜像。
达梦DM8 x86架构 64位linux安装包。
二、麒麟操作系统安装
这里就不写vm虚拟机的安装步骤了,网上教程很多,虚拟机程序本身安装也很简单。
创建新的虚拟机、选自定义、点下一步
兼容性选最高那个就好
这里可以直接选则镜像,也可以选稍后安装系统,选稍后的话就只创建一个虚拟机的硬件环境,然后再编辑cdrom设备即可。我这里就选稍后了。
这里选择linux,由于我装的是麒麟v10,下面选项选择RHEL7或者CentOS7都可以。
这里点浏览选择存放这个虚拟机的目录(建议磁盘分区剩余空间大一些),并给这个虚拟机起个自己能分辨出来的名字。
根据自己电脑实际情况给cpu,默认最低是1颗cpu,每个cpu1个核心,我这里给的是2颗cpu,每颗2核心,所以共计4个核心。但这个是虚拟机,在调用物理机时,虚拟CPU每个内核对应物理CPU一个线程。
因为是服务器系统,建议如果物理CPU线程数够就给2*2
内存建议有条件的直接给8G起,用着流畅^^
网络类型选NAT
这里讲下这几个的区别
桥接网络:虚拟机直接去连接你物理机网络的网关,也就是虚拟机的网关和物理机是一样的,ip从网关那DHCP过来或者手动配置。
NAT:我比较懒,所以用这个最省事的。这个方式虚拟机也能享受到物理机的网络,并且不需要向物理机的网关进行ip申请,所以虚拟机里直接配置DHCP即可。DHCP配置需要在编辑--虚拟网络编辑器中进行管理。
仅主机:这个虚拟机是不使用物理机的网络的,仅仅通过虚拟网卡和物理机单线通讯,并不接入到物理机所上联的网络中,也就是不能上网。
io控制器和磁盘类型默认选推荐
选创建新盘
选单个文件,磁盘大小根据磁盘情况来,建议不低于30G,因为不勾选立即分配,所以物理机的磁盘占用不会一下就80G,这里80G只是上限。
当然后期也可以通过调整磁盘大小,或者增加磁盘的方式扩容虚拟机磁盘。
这里直接下一步
点完成
点编辑虚拟机设置,CD/DVD,使用ISO镜像文件,浏览选择下载好的镜像,点确定,然后开启此虚拟机。
选上面这个,回车,等待安装界面。
出现安装界面后,选中文
选安装位置
选自定义,然后点完成进入分区界面
分区选LVM方案,然后点那个蓝色下划线的字,生成默认分区方案。
这里建议主要容量给根,SWAP根据内存调整,虚拟机一般不超过16G内存调整成和内存一样大小即可。除非您实在内存太小,这里要按比例增大到1.5至2倍。
调整完如下,点击完成,接受 更改
然后点软件选择
左边选带GUI,右边根据自己实际情况进行勾选,当然后面也能再安装,我个人习惯统一都勾选如下内容:
性能工具,调试工具,开发工具,安全性工具,系统工具。
然后点网络和主机名,这里修改默认的主机名称后点应用,然后打开以太网(ens33)后面的开关,等待获取到ip后点完成即可。
这里如果你在窗口里看不到那个以太网,是空的,很可能是创建虚拟机的时候选择的不是RHEL7或者CentOS7,删掉重建即可^^
点root密码,编一个复合要求的密码(自己别忘了)
点完成后,直接点开始安装,此时进入漫长的安装过程,耐心等待或者喝口水^^
安装完成,点重启
重启完,许可证信息里点同意,然后结束配置,就能看到操作系统登录界面了。
至此,操作系统部分安装完毕。
三、DM8数据库安装
1、启动网络
用root用户登录系统,首先把网启用,点这个小电脑,然后点ens33。
变成
这样就 可以了
2、关闭selinux
桌面点右键-在终端中打开,输入如下命令
vi /etc/selinux/config
修改enforcing为disabled并保存退出
3、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
4、修改ulimit参数
ulimit -a查看参数中open file默认是1024,需要修改成65536
编辑文件limits.conf进行修改
vi /etc/security/limits.conf
在下面添加两行代码并保存退出
* soft nofile 65536
* hard nofile 65536
然后reboot重启一下
5、创建组和用户
groupadd dinstall
useradd -g dinstall dmdba
设置dmdba用户的密码
passwd dmdba
6、创建目录
mkdir /dm
chmod 775 /dm
chown dmdba:dinstall /dm
7、配置图形环境变量
在root用户的窗口中输入
xhost
新建一个终端窗口输入
su - dmdba
export DISPLAY=:0.0
此时有两个窗口,一个是root用户的,一个是dmdba的,都不要关闭!
8、上传达梦安装程序
这一步也可以使用ftp传输工具把盘里的bin文件直接传目录里。
我这里用虚拟机---可移动设备---CD/DVD配置并加载达梦光盘镜像,系统自动弹出窗口。
没弹出也没关系,默认挂载目录
/run/media/root/dameng/
默认只读挂载,把文件复制到dm目录里
cp /run/media/root/dameng/DMInstall.bin /dm/DMInstall.bin
9、运行安装程序
使用root窗口执行
chmod 775 /dm/DMInstall.bin
使用dmdba窗口
cd /dm
./DMInstall.bin
等待解压
10、图形化安装dm8
点确定,然后下一步
接受,下一步,有key的选key,我这里测试用就直接下一步
这里默认就是典型安装,能装的全装上,然后下一步
这里修改下目录,然后下一步,这里如果你想使用一级目录,那复制安装bin文件的时候单独放别的目录里,比如建个/setupfiles目录
确认无误点安装,等待读条
弹出这个窗口后用另外那个root用户窗口执行这root脚本
脚本执行完后,点确定,然后点完成,自动弹出初始化数据库的图形界面。
11、图形初始化数据库
点初始化
选第一个创建数据库实例,然后点开始
选一般用途,然后下一步
默认目录就好,有需要可以修改
设置数据库名、实例名、端口号,可以用默认
这里是设置关键文件的目录,默认就好,直接下一步
这里字符集选GB18030,其他可以根据需要修改,建议默认,直接下一步
根据情况选择并设置口令,我这里选统一口令
这里可以选择安装演示数据,练习用就都选上吧。
概览一下,没问题就点完成
用另外那个root用户窗口 按顺序执行里面的脚本,都执行完再点确定
点完成
至此,DM8数据库安装完毕,实例初始化完毕,可以正常使用了。
本文关键词:达梦数据库安装目录,达梦数据库安装包,达梦数据库安装教程,达梦数据库安装可用内存0M,达梦数据库安装key文件在哪。这就是关于《达梦数据库安装,达梦数据库的数据源配置(达梦数据库在SpringBoot中的使用)》的所有内容,希望对您能有所帮助!