先上原文
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-toolsevm-toolsst-jaroscarJDBC16.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字段的 ‘自动生成’ 属性打钩
-----
未完