Maven erstellt die Springboot+MyBatisPlus+Renda Jincang-Datenbank

Vorwort

Ich habe kürzlich an einem Projekt gearbeitet, bei dem Partei A wegen der Notwendigkeit einer Lokalisierung darum gebeten hat, die Jincang-Datenbank des Nationalen Volkskongresses zu verwenden. Ich habe schnell überprüft, ob MyBatisPlus angepasst werden kann, und habe vor, eine einfache Springboot+MyBatisPlus+Renda Jincang-Datenbankumgebung für eine einfache Überprüfung zu erstellen.

Umfeld

Eclipse-Sauerstoff

JAVA1.8

Springboot2.6.2

MyBatis3.5.2

Datenbank des Nationalen Volkskongresses Jincang, Kingbase8.6.0

Umgebung erstellen

Der Download, die Installation und die Konfiguration werden hier übersprungen, mit der Ausnahme, dass die Jincang-Datenbank relativ unbekannt ist und mehrere andere Java-Entwickler damit sehr vertraut sein sollten. Die Installation der Jincang-Datenbank ist nicht schwierig. Laden Sie das Installationspaket von der offiziellen Website herunter. Wenn Sie ein einzelner Entwickler sind, laden Sie die Autorisierungsdatei für die Entwicklungsversion herunter und wählen Sie die Autorisierungsdatei während der Installation aus. Die persönliche Entwicklungsversion weist immer noch viele Einschränkungen auf. Die maximale Anzahl von Verbindungen beträgt 10. Ich verwende das Datenbankverwaltungstool zum Herstellen einer Verbindung, und wenn ich zum Herstellen einer Verbindung das Datenbankmigrationstool verwende, wird die Anzahl der Verbindungen überschritten.

Datenbankvorbereitung

Wir möchten eine Datenbank in der Jincang-Datenbank erstellen, eine Tabelle erstellen und Testdaten einfügen.

Erstellen Sie zunächst direkt die Datenbank

Erstellen Sie dann eine Tabelle und führen Sie die SQL-Anweisung aus, um die Benutzertabelle zu erstellen. Da das Schlüsselwort „user“ in Konflikt steht, verwendet der Tabellenname „users“:

CREATE TABLE "public".users (
    id bigint AUTO_INCREMENT NOT NULL,
    name varchar(30) NOT NULL,
    age integer NOT NULL,
    email varchar(50) NOT NULL
);

ALTER TABLE "public".users SET
TABLESPACE "sys_default";

COMMENT ON
COLUMN "public".users.id IS '主键';

COMMENT ON
COLUMN "public".users.name IS '姓名';

COMMENT ON
COLUMN "public".users.age IS '年龄';

COMMENT ON
COLUMN "public".users.email IS '邮箱';

ALTER TABLE "public".users ADD CONSTRAINT con_public_users_constraint_1 PRIMARY KEY (id) ENABLE VALIDATE;

Daten einfügen:

INSERT INTO users (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');

Erstellen Sie ein neues Maven-Projekt

Verwenden Sie Eclipse, um ein neues Maven-Projekt zu erstellen.

Die POM-Datei ist wie folgt konfiguriert:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.sadoshi</groupId>
    <artifactId>kingbase</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.2</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.20</version>
        </dependency>
        <dependency>
            <groupId>com.kingbase8</groupId>
            <artifactId>kingbase8</artifactId>
            <version>8.6.0</version>
        </dependency>

    </dependencies>

    <!--插件 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

Oben wird ein Fehler gemeldet, da das Maven Central Warehouse nicht über Version 8.6.0 von Kingbase8 verfügt und wir später eine im lokalen Maven Warehouse erstellen müssen.

Nehmen Sie einige Konfigurationen für das Projekt in application.ym vor, einschließlich der Datenbankverbindung usw.:

server:
  port: 9999

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.kingbase8.Driver
    url: jdbc:kingbase8://127.0.0.1:54321/mybatisplus_test
    username: system
    password: 12345678
    druid:
      stat-view-servlet:
        enabled: false

Beachten Sie, dass „driverClassName“ durch den Treiber der Jincang-Datenbank ersetzt wird.

Installieren Sie das Kingbase8-JAR im lokalen Maven

Suchen Sie „kingbase8-8.6.0.jar“ im Installationsverzeichnis der Jincang-Datenbank. Wir möchten es im lokalen Maven installieren, damit in der POM-Datei kein Fehler auftritt

Führen Sie den Befehl in der Befehlszeile aus:

mvn install:install-file -DgroupId=com.kingbase8 -DartifactId=kingbase8 -Dversion=8.6.0 -Dpackaging=jar -Dfile=(kingbase的jar包路径)\kingbase8-8.6.0.jar

PS: Manchmal wird der Fehler „Das von Ihnen angegebene Ziel erfordert die Ausführung eines Projekts, aber in diesem Verzeichnis befindet sich kein POM“ gemeldet. Versuchen Sie, alle Argumente in doppelte Anführungszeichen zu setzen:

mvn install:install-file "-DgroupId=com.kingbase8" "-DartifactId=kingbase8" "-Dversion=8.6.0" "-Dpackaging=jar" "-Dfile=(kingbase的jar包路径)\kingbase8-8.6.0.jar"

Code schreiben

前面准备工作都做好了,接下来要写业务代码。

创建主类App,加上@MapperScan注解扫描指定目录下的mapper:

package kingdb;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("kingdb.mapper")
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
        
    }
}

创建一个测试用控制类HelloController,一会测试的时候访问“/getStudent”这个路径,看控制台能否打印出学生列表:

package kingdb.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import kingdb.entity.User;
import kingdb.mapper.UserMapper;

@RestController
public class HelloController {

    @Autowired
    private UserMapper userMapper;
    
    @RequestMapping("/test")
    public String test() {
        return "test";
    }
    
    @RequestMapping("/getStudent")
    public String getStudent() {
        List<User> userList = userMapper.selectList(null);
        userList.forEach(System.out::println);
        return "getStudent";
    }
}

创建实体类User,这里使用@TableName注解指定实体类对应的数据库表名:

package kingdb.entity;

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

@Data
@TableName("users")
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

创建Mapper类:

package kingdb.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import kingdb.entity.User;

public interface UserMapper extends BaseMapper<User>{

}

测试

启动App类,浏览器访问http://localhost:9999/getStudent。因为我前面application.yml设置Server端口是9999,所以访问端口是这个。

然后查看控制台:

成功打印学生信息。证明MyBatisPlus对接金仓数据库验证完成。

小结

金仓数据库有些语法与mysql不同,比如说这个users的建表语句,我是通过数据库工具建表后生成的ddl,和MyBatisPlus官网例子mysql的建表语句还是有些差别。如果想使用一些成熟的框架作为底座,又被要求使用金仓数据库,可以先用mysql建好数据库,再通过金仓数据库的数据库迁移工具迁过去。比如我使用jeecg这个框架,就是先在mysql建好表,然后通过工具迁移过去。直接改建表sql太麻烦了,而且和mysql语法出入又多。

Supongo que te gusta

Origin blog.csdn.net/sadoshi/article/details/129731360
Recomendado
Clasificación