SpringBoot+神通数据库+JPA
先上原文
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的更多相关文章
- [转] Springboot的数据库操作
转载自:https://www.cnblogs.com/juncaoit/p/7789034.html springBoot的数据库操作 一:操作数据库起步 1.Spring-Data-Jpa JPA ...
- Springboot spring data jpa 多数据源的配置01
Springboot spring data jpa 多数据源的配置 (说明:这只是引入了多个数据源,他们各自管理各自的事务,并没有实现统一的事务控制) 例: user数据库 global 数据库 ...
- SpringBoot基于数据库实现简单的分布式锁
本文介绍SpringBoot基于数据库实现简单的分布式锁. 1.简介 分布式锁的方式有很多种,通常方案有: 基于mysql数据库 基于redis 基于ZooKeeper 网上的实现方式有很多,本文主要 ...
- SpringBoot系列教程JPA之新增记录使用姿势
SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第 ...
- 测试开发专题:spring-boot如何使用JPA进行双向一对多配置
本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置. 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖,pom文件里加入下面内容 & ...
- 国产神通数据库操作备忘(Linux)
最近接触到国产神通数据库的一个项目,发现这个数据库还是挺有技术含量的,看起来做的还不错. 1.启动停止 在终端窗口中输入以下命令启动数据库: # /etc/init.d/oscardb_<数据库 ...
- SpringBoot整合StringData JPA
目录 SpringBoot整合StringData JPA application.yml User.class UserRepository.java UserController SpringBo ...
- SpringBoot使用数据库
这一篇简单介绍一下SpringBoot配置数据库的配置(依赖和application.properties),以下全是以本地数据库为例子,具体用户名密码地址都根据实际去修改. Mysql数据库: po ...
- 解决springboot druid 数据库批量更新错误问题
原文:https://www.2cto.com/kf/201712/706399.html springboot druid 数据库多SQL错误multi-statement not allow Ca ...
随机推荐
- JavaIO——File类
1.File文件类 File类(描述具体文件或文件夹的类):是唯一一个与文件本身操作有关的程序类,可完成文件的创建.删除.取得文件信息等操作.但不能对文件的内容进行修改. (1)File类的基本使用 ...
- idea集成开发工具快捷键大全
1 执行(run) alt+r 2 提示补全 (Class Name Completion) ...
- java异常处理中throws和throw的使用
异常介绍: 运行时异常.非运行时异常 在编写可能会抛出异常的方法时,它们都必须声明为有异常. 一.throws关键字 1.声明方法可能抛出的异常: 2.写在方法名后面: 3.可声明抛出多个异常,异常名 ...
- 追踪工具strace
目录 一.简介 二.例子 找出程序读取的文件 查看现在程序在做什么 查看程序中哪个部分消耗大量cpu 无法连接服务器查看信息 一.简介 Linux 操作系统有很多用来跟踪程序行为的工具,内核态的函数调 ...
- Python pyecharts绘制柱状图
本文摘抄至https://05x-docs.pyecharts.org/#/zh-cn/charts_base?id=bar%ef%bc%88%e6%9f%b1%e7%8a%b6%e5%9b%be%e ...
- Tableau如何绘制双柱折线组合图
一.数据准备如下所示 二.将日期拖拽至列,销售额拖拽至行,结果如下所示 三.右键日期排序-选择手动排序 四.将指标拖拽至标记卡上 五.创建计算字段增长率 SUM(IF YEAR(日期)=2017 th ...
- Tableau如何绘制多边形地图
一.把省\自治区拖拽至标记生成地图二.把销售额拖拽至标记 三.地图-地图层-冲蚀100% 四.最终结果如图所示
- IO中同步异步,阻塞与非阻塞 -- 原理篇
再补一篇高手写的理论分析,便于更深刻理解 转自:http://blog.csdn.net/historyasamirror/article/details/5778378 ============== ...
- 十年后回到百年前?(Excel技巧集团)
在单元格里输入日期,有时可以偷懒,比如明年的日期可以输入至少一位的年+横杠(或斜杠)+至少一位的月+横杠(或斜杠)+至少一位的日,也就是"21-1-1",单元格里就会自动显示&qu ...
- 新建任务(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 新建任务,这操作简单得就跟在Excel的单元格里输入个数据一样,不过也不是一点讲究都没有. 首先得选对视图. 不是所有的视 ...