• 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-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字段的 ‘自动生成’ 属性打钩

    -----

    未完

  • 相关阅读:
    jQuery源码分析-01总体架构
    JS框架的一些小总结
    jquery validate表单验证插件
    jQuery $.extend()用法总结
    详解;(function ($,window,document,undefined){...})(jQuery,window,document);
    (function(){... })();
    同源策略 JSONP(实践篇)
    **字符集--发展史
    Django X 和 druid
    Django xadmin的使用 (三)
  • 原文地址:https://www.cnblogs.com/myfrank/p/14593366.html
Copyright © 2020-2023  润新知