Kingbase人大金倉資料庫總結(SQL和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');
2、JDBC
然後,有了資料以後,測試一下他的JDBC。
引入jar包
下面是我的IDEA裡引入jar包的方法,通過Libraries新增
建立連線類
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();
}
}
}