GBase 8s JDBC 返回主键
GBase 8s 序列数据类型 SERIAL、BIGSERIAL 或 SERIAL8 存储整数数据类型的顺序整数(在插入新行时由数据库服务器自动增加)。当设置序列数据类型为主键时,该列具有自增的属性, GBase 8s JDBC可通过 STATEMENT.RETURN_GENERATED_KEYS 返回主键ID。
示例
数据准备
create table t1 (c1 serial(1),c2 varchar(20));
JAVA用例
import java.sql.*;
public class Test {
public static final String DBDRIVER = "com.gbasedbt.jdbc.Driver";
//URL
public static final String DBURL = "jdbc:gbasedbt-sqli://172.16.39.199:9088/mydb:GBASEDBTSERVER=gbase8s1;NEWCODESET=UTF8,zh_cn.UTF8,57372;DB_LOCALE=zh_cn.5488;SQLMODE=Oracle";
public static final String DBUSER = "gbasedbt"; //用户名
public static final String DBPASS = "tudoulilin"; //密码
public static void main(String args[]) throws Exception {
Connection conn = null;
PreparedStatement pstmt = null;
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
conn.setAutoCommit(true);
String sql = " INSERT INTO t1(c2) values('test') ";
pstmt = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
pstmt.executeUpdate();
ResultSet rs = pstmt.getGeneratedKeys(); //得到生成的主键,主键放在ResultSet对象里
if(rs.next()){ //提取主键值
System.out.println("返回主键ID:"+rs.getInt(1));
}
pstmt.close();
conn.close();
}
};