java連接金倉數據庫方法筆記

https://blog.csdn.net/qq_18769269/article/details/82775937
人大金倉作爲一款國產數據庫,使用的人數和相關資料都比較少。

最近使用人大金倉數據庫,做了個簡單的SQL和java jdbc的測試,希望能夠供大家參考。

1、SQL語句

創建表:

CREATE TABLE “PUBLIC”.“TB_SYS_CONFIGURE”(
“ATTR_KEY” VARCHAR (100) NOT NULL ,
“ATTR_VALUE” VARCHAR (100) NOT NULL
);
添加數據:

INSERT INTO TB_SYS_CONFIGURE
(ATTR_KEY, ATTR_VALUE)
VALUES (‘accessCount’, ‘3244’),
(‘accessCountOne’, ‘3456’),
(‘accessCountTwo’, ‘7890’);
下面的截圖跟數據對不上,因爲最開始忘了截圖了,截的是我crud測試後的,出入不大,供頁面參考。
在這裏插入圖片描述

2、JDBC
然後,有了數據以後,測試一下他的JDBC。

引入jar包
在這裏插入圖片描述

建立連接類

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Getcon {
public static final String url = “jdbc:kingbase://192.168.0.211:54322/TEST”; //改爲自己數據庫地址和名字
public static final String name = “com.kingbase.Driver”;
public static final String user = “SYSTEM”;
public static final String password = “krms”; //這裏的用戶名和密碼設置爲自己的

public Connection conn = null;
public PreparedStatement pst = null;

public Getcon(String sql) {
    try {
        //Class.forName(name);//指南中的這個方法運行不成功
        DriverManager.registerDriver(new com.kingbase.Driver());
        conn = DriverManager.getConnection(url, user, password);//獲取連接  
        pst = conn.prepareStatement(sql);//準備執行語句 
        System.out.print("yes");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public void close() {
    try {
        this.conn.close();
        this.pst.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

}
操作類-JDBC增刪改查

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class KingBaseTest {

static String sql = null;
static Getcon db1 = null;
static ResultSet ret = null;

public static void main(String[] args) {
    query();
    //update();
    //add();
    //delete();
}

public static void  query(){
    sql = "select * from TB_SYS_CONFIGURE;";//要執行的SQL語句,改成自己的表什麼的
    db1 = new Getcon(sql);//創建數據庫對象
    try {
        ret = db1.pst.executeQuery();//執行語句,ret是結果
        while (ret.next()) {
            System.out.println(ret.getString(1)+": "+ret.getString(2) );
        }//顯示數據
        ret.close();
        db1.close();//關閉連接
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

public static void  update(){
    sql = "\n" +
            "UPDATE TB_SYS_CONFIGURE \n" +
            "SET ATTR_KEY='accessCountTest' \n" +
            "WHERE ATTR_VALUE='3456';\n";//要執行的SQL語句,改成自己的表什麼的
    db1 = new Getcon(sql);//創建數據庫對象

    try {
        int i = db1.pst.executeUpdate();
        if (i>0){
            System.out.println("修改成功");
        }
        else {
            System.out.println("修改失敗");
        }
        ret.close();
        db1.close();//關閉連接
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

public static void  add(){
    sql = "insert into TB_SYS_CONFIGURE (ATTR_KEY,ATTR_VALUE) values(?,?);\n";//要執行的SQL語句,改成自己的表什麼的
    db1 = new Getcon(sql);//創建數據庫對象
    PreparedStatement preparedStatement = null;
    try {
        preparedStatement = db1.conn.prepareStatement(sql);
    preparedStatement.setString(1,"accessADD");
    preparedStatement.setString(2,"12345");
    int i1 = preparedStatement.executeUpdate();
    if (i1>0){
        System.out.println("修改成功");
    }
    else {
        System.out.println("修改失敗");
    }
    ret.close();
    db1.close();//關閉連接
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

public static void delete(){
    sql = " delete from TB_SYS_CONFIGURE where ATTR_VALUE=7890 ";
    db1 = new Getcon(sql);//創建數據庫對象
    try {
        int i1 = db1.pst.executeUpdate();
        if (i1>0){
            System.out.println(i1+"個刪除成功");
        }
        else {
            System.out.println("刪除失敗");
        }
        ret.close();
        db1.close();//關閉連接
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章