先上原文

https://blog.csdn.net/Helloworld_pang/article/details/114266130

一、SpringBoot + 神通数据库

基本上按照上面的参考,是可以连接上神通数据库的,主要注意几点:

1、依赖

目前公共仓库应该没有神通数据库所需要的依赖,按照参考,引入oscarJDBC16到自己的仓库,然后就可以引用了。当然,如果只是先测试一下,也可以先不用maven直接导入。注意,oscarJDBC16.jar在神通数据安装目录下应该能找到。下面是导入本地仓库的方法

mvn install:install-file -DgroupId=com.stdb -DartifactId=stoscarJDBC16 -Dversion=1.0 -Dpackaging=jar -Dfile=G:\evm-tools\evm-tools\st-jar\oscarJDBC16.jar 

// -Dfile:jar包在硬盘上的位置
// -DgroupId, -DartifactId, -Dversion:三个参数,指定存放maven仓库中的位置(与引入依赖时的属性相对应,自定义);
// -Dpackaging :打包类型,例如JAR;
 <dependency>
<groupId>com.stdb</groupId>
<artifactId>stoscarJDBC16</artifactId>
<version>1.0</version>
</dependency>

2、配置文件

看参考就行(类似集成mysql的配置)

spring.datasource.url=jdbc:oscar://127.0.0.1:2003/OSRDB?serverTimezone=UTC&useSSL=FALSE
spring.datasource.username=SYSDBA
spring.datasource.password=szoscar55
spring.datasource.driver-class-name=com.oscar.Driver

至此,启动SpringBoot项目,应该是没问题的

二、SpringBoot + 神通数据库 + JPA

SpringBoot + mysql + JPA 还是挺好用的,在这里也可以实现 SpringBoot + 神通数据库 + JPA。喜欢MyBits的,若有问题,可以去咨询原文的博主。

以下代码都是手打,若有拼写错误,请见谅。

1、JPA的自动建表功能还是挺方便的,需要在SpringBoot配置文件中加入(在此之前,记得加入JPA依赖到maven中)

import lombok.Data
import javax.persistence.* @Entity
@Table(name="T1",shema="YQQ")
@Data // 这个注解是lombok的
public class YqqT1 { @Id
private String id; private String name; }

2、现在启动会发现报dialect错误,需要增加hibernate依赖

类似这种报错:https://blog.csdn.net/boling_cavalry/article/details/79342319

 刚才已经添加了oscarJDBC16,同理需要添加OscarHibernate,方法同添加oscarJDBC16一样

添加到本地仓库后,在pom.xml中引用就行

然后在配置文件中增加

spring.jpa.database-platform=org.hibernate.dialect.OscarHibernate

3、现在启动项目,就不会报错了,并且在神通数据库中自动建表成功。当然,前提是要开启自动建表

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

4、接下来可以尝试一下JPA简单的增删查改

在写接口之前,再说一下实体类YqqT1

主键自增是经常用到的,如果要连接神通数据库使用主键自增,可以增加一些注解,需要使用 @GeneratedValue等注解

参考:https://blog.csdn.net/weixin_34097242/article/details/89649815

1)第一种方法

修改后的YqqT1如下:

import lombok.Data
import javax.persistence.* @Entity
@Table(name="T1",shema="YQQ")
@Data // 这个注解是lombok的
public class YqqT1 { @Id
@sequenceGenerator(sequenceName="sequence1", name="t1",allocationSize=1)
@GeneratedValue(strategegy =GenerationType.SENQUENCE,generator = "t1")
private Integer id;

private String name;
}

这样的话,在新增数据时,只需要传入name参数,id会自动生成,不过呢,我看了看神通数据库中,id字段属性中,‘自动生成’ 这个字段并没有被打钩

注意一下 sequenceName,可以使用

select nextval('sequence1');    查询

drop sequence sequence1;    删除

create sequence sequence1 start with 1 increment by 1;    创建

2)第二种方法

我发现改成  @GeneratedValue(strategegy =GenerationType.IDENTITY,generator = "t1") 也可以,(可能存在问题)

3)第三种方法

修改后的YqqT1如下:

import lombok.Data
import javax.persistence.* @Entity
@Table(name="T1",shema="YQQ")
@Data // 这个注解是lombok的
public class YqqT1 { @Id
@GeneratedValue(strategegy =GenerationType.IDENTITY)
private Integer id; private String name; }

但是!使用上面这种,需要手动在数据库 id字段的 ‘自动生成’ 属性打钩

-----

未完

SpringBoot+神通数据库+JPA的更多相关文章

  1. [转] Springboot的数据库操作

    转载自:https://www.cnblogs.com/juncaoit/p/7789034.html springBoot的数据库操作 一:操作数据库起步 1.Spring-Data-Jpa JPA ...

  2. Springboot spring data jpa 多数据源的配置01

    Springboot spring data jpa 多数据源的配置 (说明:这只是引入了多个数据源,他们各自管理各自的事务,并没有实现统一的事务控制) 例: user数据库   global 数据库 ...

  3. SpringBoot基于数据库实现简单的分布式锁

    本文介绍SpringBoot基于数据库实现简单的分布式锁. 1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要 ...

  4. SpringBoot系列教程JPA之新增记录使用姿势

    SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第 ...

  5. 测试开发专题:spring-boot如何使用JPA进行双向一对多配置

    本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置. 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖,pom文件里加入下面内容 & ...

  6. 国产神通数据库操作备忘(Linux)

    最近接触到国产神通数据库的一个项目,发现这个数据库还是挺有技术含量的,看起来做的还不错. 1.启动停止 在终端窗口中输入以下命令启动数据库: # /etc/init.d/oscardb_<数据库 ...

  7. SpringBoot整合StringData JPA

    目录 SpringBoot整合StringData JPA application.yml User.class UserRepository.java UserController SpringBo ...

  8. SpringBoot使用数据库

    这一篇简单介绍一下SpringBoot配置数据库的配置(依赖和application.properties),以下全是以本地数据库为例子,具体用户名密码地址都根据实际去修改. Mysql数据库: po ...

  9. 解决springboot druid 数据库批量更新错误问题

    原文:https://www.2cto.com/kf/201712/706399.html springboot druid 数据库多SQL错误multi-statement not allow Ca ...

随机推荐

  1. Android 图片框架

    1.图片框架:Picasso.Glide.Fresco 2.介绍: picasso:和Square的网络库能发挥最大作用,因为Picasso可以选择将网络请求的缓存部分交给了okhttp实现 Glid ...

  2. ping (网络诊断工具)

    Ping是Windows.Unix和Lnix系统下的一个命令,ping也属于一个通信协议,是TCP/IP协议的一部分,利用Ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障.应用格 ...

  3. spring jdbc 配置数据源连接数据库

    概述 在XML配置数据源,并将数据源注册到JDBC模板 JDBC模板关联业务增删改查 在XML配置数据源 <?xml version="1.0" encoding=" ...

  4. 【Linux】【Shell】【Basic】函数

    1. 函数:function,把一段独立功能的代码当作一个整体,并为之一个名字:命名的代码段,此即为函数: 注意:定义函数的代码段不会自动执行,在调用时执行:所谓调用函数,在代码中给定函数名即可: 函 ...

  5. array_filter()用法

    第一种情况: 通过函数,过滤数组中的元素 array_filter($arr,'函数名称') 函数里可以写相应的过滤原则,下面举个栗子,过滤掉不是数字的元素 $arr=array('a','b','c ...

  6. 估计工期标识(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 有时候吧,我们遇到的任务,工期并不是那么好定的,本来嘛,一个项目如果全靠拍脑袋,最后搞不好会被人锤脑袋-- 看来PM有风险 ...

  7. AT2686 [ARC080A] 4-adjacent 题解

    Content 给定一个长度为 \(n\) 的数列 \(a\),请将其重新排列,使得 \(\forall i\in[1,n-1]\),都有 \(4\mid (a_i\cdot a_{i+1})\),或 ...

  8. CF1494A ABC String 题解

    Content 给定 \(T\) 个仅包含大写字母 A,B,C 的字符串 \(s\).问你是否能够通过将每个 A,B,C 换成 (,) 中的一个(同一个字母必须要换成同一个字符),使得最后得到的括号序 ...

  9. vnc mirror driver

    2012年4月,大二下学期,平静的课堂上老师通知了一个比赛...第一届大学生软件设计大赛!然后我选了第六题:windows屏幕录像.就这样我就开始了我的vc开发生涯. 之前学了c/c++作为基础,自认 ...

  10. JAVA 接口返回JSON格式转换类

    使用了Lombok插件 Result.java package com.utils; import com.jetsum.business.common.constant.Constant; impo ...