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 ...
随机推荐
- Postman 中 Pre-request Script 常用 js 脚本
1. 生成一个MD5或SHA1加密的字符串str_md5,str_sha1 string1 = "123456"; var str_md5= CryptoJS.MD5(string ...
- oracle 存储过程及REF CURSOR的使用
基本使用方法及示例 1.基本结构: CREATE OR REPLACE PROCEDURE 存储过程名字 (参数1 IN NUMBER,参数2 IN NUMBER) AS 变量1 INTEGER := ...
- Mysql中replace与replace into的用法讲解
Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...
- 6.Vue.js-条件与循环
条件判断 v-if 条件判断使用 v-if 指令: <div id="app"> <p v-if="seen">现在你看到我了</ ...
- Django REST framework完全入门
Django REST framework 一个强大灵活的Django工具包,提供了便捷的 REST API 开发框架 我们用传统的django也可以实现REST风格的api,但是顶不住Django ...
- 【C/C++】C++ warning: control reaches end of non-void function return
控制到达非void函数的结尾. 一些本应带有返回值的函内数到容达结尾后可能并没有返回任何值. 这时候,最好检查一下是否每个控制流都会有返回值. 我是ostream声明的时候没有写return out; ...
- Java oop 笔记
摘要网址:http://note.youdao.com/noteshare?id=bbdc0b970721e40d327db983a2f96371
- Mysql资料 Binlog
目录 一.简介 二.开启binlog及相关参数 开启 相关操作 三.查看binlog日志 使用mysqlbinlog自带查看命令法 mysql加载方式查询 四.恢复数据 五.命令参数 一.简介 MyS ...
- Mac配置apache,mysql
===========Apache=============================== 1. 启动关闭Apache MAC系统已经预装了apache,启动.关闭.查看版本等命令如下: 启动a ...
- CF761A Dasha and Stairs 题解
Content 给定两个数 \(n,m\),试问是否有区间里面有 \(n\) 个奇数和 \(m\) 个偶数. 数据范围:\(0\leqslant n,m\leqslant 100\). Solutio ...