人大金倉資料庫總結(SQL和JDBC)
阿新 • • 發佈:2018-12-10
人大金倉作為一款國產資料庫,使用的人數和相關資料都比較少。
最近使用人大金倉資料庫,做了個簡單的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包
下面是我的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(); } } }