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

    -----

    未完

  • 相关阅读:
    POJ 1811 Prime Test 素性测试 分解素因子
    sysbench的安装与使用
    电脑中已有VS2005和VS2010安装.NET3.5失败的解决方案
    I.MX6 show battery states in commandLine
    RPi 2B Raspbian system install
    I.MX6 bq27441 driver porting
    I.MX6 隐藏电池图标
    I.MX6 Power off register hacking
    I.MX6 Goodix GT9xx touchscreen driver porting
    busybox filesystem httpd php-5.5.31 sqlite3 webserver
  • 原文地址:https://www.cnblogs.com/myfrank/p/14593366.html
Copyright © 2020-2023  润新知