专业小程序设计开发——助力新电商新零售
电话+V:159999-78052,欢迎咨询达梦数据库数字金额转人民币大写,[小程序设计与开发],[小程序投流与推广],[小程序后台搭建],[小程序整套源码打包],[为个体及小微企业助力],[电商新零售模式],[小程序运营推广及维护]
一、SpringBoot整合达梦数据库
在整合SpringBoot与达梦数据库的场景中,重点在于确保数据迁移、配置、操作等环节的顺畅进行。
首先,进行达梦数据库的安装与配置。在下载安装达梦数据库时,请访问dameng.com/view_61.html,以x86win64DM8为例,安装完毕后,通过数据库配置助手创建数据库,确保字符集为utf8,同时去除字符大小写的敏感性。接下来,创建表空间与用户,建议每个库对应一个用户与表空间,同时分配DBA操作权限。
数据表迁移过程中,针对现有项目或框架库,使用达梦数据库迁移工具,确保对象名大小写一致,选择表时全部取出并全选,这样迁移的表名和字段名将与原数据库保持一致,避免后续使用时的兼容性问题。
在Maven中引用数据库配置时,使用druid作为连接池管理工具,同时去除wall配置,以避免因配置不当导致的错误。
对于达梦数据库驱动中可能存在的大小写强制转换问题,可以通过兼容代码映射为LinkHashMap来解决,确保数据返回前端时大小写匹配,避免影响范围较大的数据处理问题。
JdbcTemplate的使用上,通过混合查询与自定义的ResultSetExtractor,获取jdbc原生的ResultSet对象,再转换为DmdbResultSetMetaData。注意,其中的columns对象为私有且无公开访问方法,可通过反射获取列名信息。
在与mybatis统一数据源时,使用druid管理的datasource作为数据源,以处理事务中的查询与更新操作,避免在某些隔离级别下查询不到未提交数据的情况。自定义动态数据源动态DataSource,继承自spring的AbstractRoutingDataSource,处理多数据源情况。
二、达梦数据库(DM8)arm64架构docker镜像,可在macm1系列芯片上完美运行_百...
达梦数据库(DM8)的arm64架构Docker镜像现已支持MacM1系列芯片,确保在该平台上稳定运行。针对官网DM8试用版(专为鲲鹏平台设计)的最新更新于2024-09-27发布,需要注意的是,先前版本授权已过期的用户如果遇到6001错误,只需更新镜像版本并拉取最新包,使用docker-compose启动数据库实例即可。
数据库配置方面,已调整参数以接近Oracle使用习惯,如字符集设定为UTF-8,VARCHAR长度以字符计算,标识符大小写不敏感,并预设了SYSDBA/SYSDBA作为默认账号。若需自定义参数,可按照以下步骤操作:
- 启动Docker容器
- 进入容器,执行必要的脚本服务删除和数据实例清理,参考相关教程(如Centos6.10DM8实例删除及数据库卸载)
- 在容器的/usr/local/bin目录下,修改docker-entrypoint.sh文件,第17行内容为:``${DM_PATH}/bin/dminitPATH=/home/dmdba/dataPAGE_SIZE=16CHARSET=1LENGTH_IN_CHAR=1CASE_SENSITIVE=0`
- 重启容器
提醒:使用低版本管理工具操作高版本数据库实例可能会遇到问题,确保管理工具版本高于服务版本,以避免潜在的错误。
达梦数据库知识点之-大小写敏感总结
原创2023-03-2718:25·贺浦力特查看数据库大小写是否敏感
SELECTCASE_SENSITIVE();结果为1是大小写敏感;结果为0是不敏感
下面从对象名,字符串内容,常用工具这三个方面介绍达梦数据库的大小写敏感和大小写不敏感设置的区分和介绍一对象名1.大小写敏感CREATETABLETEST.Abc(COLINT);--对于创建表,在大小写敏感的情况下,表名Abc不加双引号,系统会自动转换成大写表名ABC查询情况如下:SELECT*FROMTEST.Abc;--执行成功SELECT*FROMTEST.ABC;--执行成功SELECT*FROMTEST."Abc";--error:无效的表或视图名[Abc]SELECT*FROMTEST."ABC";--执行成功CREATETABLETEST."Abc"(COLINT);--对于创建表,在大小写敏感的情况下,表名Abc加双引号,即创建的表为Abc查询情况如下:SELECT*FROMTEST.Abc;--error:无效的表或视图名[ABC]SELECT*FROMTEST.ABC;--error:无效的表或视图名[ABC]SELECT*FROMTEST."Abc";--执行成功SELECT*FROMTEST."ABC";--error:无效的表或视图名[ABC]注意:(大小写敏感的情况下)在达梦管理工具(manager)中使用图形化界面的方式创建对象时,如果使用的是小写,系统会自动加上双引号在查询的时候必须使用双引号来访问2.大小写不敏感CREATETABLEa(C1INT);--对于创建表,在大小写不敏感的情况下,表名a是否加双引号,对查询结果没有影响查询情况如下:SELECT*FROMa;--执行成功SELECT*FROMA;--执行成功SELECT*FROM"a";--执行成功SELECT*FROM"A";--执行成功CREATETABLE"b"(C1INT);查询情况如下:SELECT*FROMb;--执行成功SELECT*FROMB;--执行成功SELECT*FROM"b";--执行成功SELECT*FROM"B";--执行成功
二字符串内容CREATETABLEMMJ(COLVARCHAR(100));--创建表MMJINSERTINTOMMJVALUES('Abc');--插入数据AbcINSERTINTOMMJVALUES('ABC');--插入数据ABC1.大小写敏感SELECTCOUNT(*)FROMMMJWHERECOL='Abc';--结果为1SELECTCOUNT(*)FROMMMJWHERECOL='ABC';--结果为12.大小写不敏感SELECTCOUNT(*)FROMMMJWHERECOL='Abc';--结果为2SELECTCOUNT(*)FROMMMJWHERECOL='ABC';--结果为2
三不同工具访问数据库1.disql访问数据库需要注意的是:密码中含有"@","/"等特殊字符,此时需要通过转义符来处理disql转义符使用如下:linux环境:需要使用双引号将密码包含进来,同时外层再使用单引号进行转义,具体例子:./disqlSYSDBA/'"abcd@efgh"'@localhostwindows环境:需要使用双引号将密码包含进来,同时对双引号使用"\"进行转义,具体例子:disqlSYSDBA/"abcd@efgh"@localhost
2.manager访问数据库1)大小写敏感:创建小写表对象:需要添加双引号来创建创建大写表对象:不需要添加双引号来创建查询小写表对象:需要添加双引号查询查询大写表对象:不需要添加双引号查询2)大小写不敏感:创建小写表对象:需要添加双引号来创建创建大写表对象:不需要添加双引号来创建查询小写表对象:不需要添加双引号来创建查询大写表对象:不需要添加双引号来创建不论是大小写敏感还是不敏感,需要注意账号重复createuser"bb"identifiedby"11111111111"createuser"BB"identifiedby"11111111111"--报错:对象[BB]已存在
3.DTS迁移工具1)大小写敏感:表对象小写:如果想要迁移过来表对象仍然保持小写,需要勾选"保持对象名大小写",后期查询时,需要使用双引号查询表对象大写:不需要勾选"保持对象名大小写",后期查询时,不需要使用双引号查询,因为会自动转换成大写查询2)大小写不敏感:表对象小写:如果想要迁移过来表对象仍然保持小写,需要勾选"保持对象名大小写",后期查询时,不需要使用双引号查询表对象大写:不需要勾选"保持对象名大小写",后期查询时,不需要使用双引号查询,因为会自动转换成大写查询
总结1.在大小写敏感的数据库中1)创建表:若表名或列名未添加双引号"",则表名和列名会自动转换为大写形式;若对表名或列名添加双引号"",则会固定书写时的大,小写;同名的数据库对象,如果大小写不同,那么则为两个不同的对象2)字段同上:一个表中,即使是相同的字段名,只要大小写不同,允许存在同名且不同大小写形式的字段3)DML或DDL操作时:如果不对表名或列名添加双引号"",那么表名和列名都自动转换为大写形式;对表进行DML操作时,如果没有小写形式的字段,不能采取小写加""的形式指定过滤字段,会被认定为无效的字段;如果对表名或列名添加""会固定书写时的大,小写形式,""中是大写形式,则过滤字段就是大写字段,""中是小写字段,则过滤字段就是小写字段;对其进行DML操作时,需要利用""指定表名和字段名,否则默认会认定以大写形式去查询对象查询时,''和""界定符中字符串区分大小写,界定符中的字符串若是大写形式,那仅查询这个大写形式的对象,若是或小写形式,那仅查询这个小写形式的对象,DML操作依旧2.大小写不敏感的数据库中1)创建表时:无论对不对表名或列名添加双引号"",表名和列名的大小写形式不会发生变化,大写形式就是大写形式,小写形式就是小写形式;2)字段同上:不允许相同的字段名,即使大小写不同;查询时,''和""界定符不区分大小写,界定符中的查询或过滤条件即使是大写或小写,都可以查询到预期的结果集.3)DML或DDL操作时:无论对不对表名或列名添加"",表名和列名的大小写形式不会发生变化,大写形式就是大写形式,小写形式就是小写形式;一个表中,不允许相同的字段名,即使大小写不同;查询时,''和""界定符不区分大小写,界定符中的查询或过滤条件即使是大写或小写,都可以查询到预期的结果集,进行DML操作时依旧在大小写不敏感的情况下,以上情况均不允许存在同名的数据库对象,即使大小写不同,默认也只能存在一个【WINDRISES MINIPROGRAM PROMOTION】尊享直接对接老板
电话+V: 159999-78052
专注于小程序推广配套流程服务方案。为企业及个人客户提供了高性价比的运营方案,解决小微企业和个体拓展客户的问题