123WT321 2020年12月29日
Gbase JDBC 应用示例
1.使用 JDBC 创建连接
本示例实现了通过 JDBC 建立数据库链接的功能。
package com.gbase.jdbc.simple;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionSimple {
public static void main(String[] args) {
ConnectionSimple connectionSimple = new
ConnectionSimple();
connectionSimple.userDriverManagerGetConnection();
}
/**
* 使用 DriverManager 获取连接.
*/
public void userDriverManagerGetConnection() {
Connection conn = null;
try {
Class.forName("com.gbase.jdbc.Driver");
conn =
DriverManager.getConnection("jdbc:gbase://192.168.5.210:5258/test?us
er=root&password=");
} catch (SQLException ex) {
// 处理错误
System.out.println("SQLException: " +
ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " +
ex.getErrorCode());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (NullPointerException e) {
} catch (Exception e) {
conn = null;
} } } }

2.通过 JDBC 执行 DDL 和 DML 语句
2.1用例 executeDDLAndDMLSQLByStatement 方法实现以下功能:
使用 Statement 执行 DDL 语句创建一个表;
使用 Statement 执行 DML 语句向表中插入一条数据;
使用 Statement 执行 DML 语句修改 2 中插入的数据。
2.2用例 executeDDLAndDMLSQLByPreparedStatement 方法实现以下功能:
使用 PreparedStatement 执行 DDL 语句创建一个表;
使用 PreparedStatement 执行 DML 语句向表中插入一条数据;
使用 PreparedStatement 执行 DML 语句修改 2 中插入的数据。
示例如下:
package com.gbase.jdbc.simple;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class ExecuteUpdateSQLByStatement {
private static final String URL =
"jdbc:gbase://192.168.XXX.XX:5258/test?user=sysdba&password=";
/**
* @param args
*/
public static void main(String[] args) {
ExecuteUpdateSQLByStatement executeUpdateSQLByStatement =
new ExecuteUpdateSQLByStatement();
executeUpdateSQLByStatement.executeDDLAndDMLSQLByStateme
nt();
executeUpdateSQLByStatement.executeDDLAndDMLSQLByPrepare
dStatement();
}
/**
* 在 test 数据库中创建一个名称为
* “user_info”的表,包含三个字段,
* 并向表中插入三条数据。
*/
public void executeDDLAndDMLSQLByStatement () {
Connection conn = null;
Statement stm = null;
try {
Class.forName("com.gbase.jdbc.Driver");
conn = DriverManager.getConnection(URL);
stm = conn.createStatement();
/*
* create table user_info (
user_id int(11) ,
user_Name varchar(50),
user_info varchar(200)
)ENGINE=GsDB DEFAULT CHARSET=utf8
*/
stm.executeUpdate("drop table if exists `user_info`");
stm.executeUpdate("create table `user_info`
( `user_id` int(11) ,`user_Name` varchar(50),`user_info`
varchar(200))ENGINE=GsDB DEFAULT CHARSET=utf8");
stm.executeUpdate("insert into `user_info`
(`user_id`,`user_name`, `user_info`) values (3,'张五','南大通用
-gbase8d')");
stm.executeUpdate("update `user_info` set `user_name`
= '张五修改' where user_id='3' ");
System.out.println("executeDDLAndDMLSQLByStatement ok");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
stm.close();
} catch (NullPointerException e) {
} catch (Exception e) {
stm = null;
}
try {
conn.close();
} catch (NullPointerException e) {
} catch (Exception e) {
conn = null;
} } }
/**
* 在 test 数据库中创建一个名称为
* “user_info”的表,包含三个字段,
* 并向表中插入三条数据。
*/
public void executeDDLAndDMLSQLByPreparedStatement () {
Connection conn = null;
PreparedStatement stm = null;
try {
Class.forName("com.gbase.jdbc.Driver");
conn = DriverManager.getConnection(URL);
stm = conn.prepareStatement("drop table if exists
`user_info`");
/*
* create table user_info (
user_id int(11) ,
user_Name varchar(50),
user_info varchar(200)
)ENGINE=GsDB DEFAULT CHARSET=utf8
*/
stm.addBatch("create table `user_info-2` ( `user_id`
int(11) ,`user_Name` varchar(50),`user_info` varchar(200))ENGINE=GsDB
DEFAULT CHARSET=utf8");
stm.executeBatch();
stm = conn.prepareStatement("insert into `user_info-2`
(`user_id`,`user_name`, `user_info`) values (?,?,?)");
stm.setInt(1, 3);
stm.setString(2, "张五");
stm.setString(3, "南大通用-gbase8d");
stm.executeUpdate();
stm = conn.prepareStatement("update `user_info-2` set
`user_name` = ? where user_id=? ");
stm.setString(1, "张五修改 Prepared");
stm.setInt(2, 3);
stm.executeUpdate();
System.out.println("executeDDLAndDMLSQLByPreparedSta
tement ok");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
stm.close();
} catch (NullPointerException e) {
} catch (Exception e) {
stm = null;
}
try {
conn.close();
} catch (NullPointerException e) {
} catch (Exception e) {
stm = null;
} } } }
...全文
浏览 点赞 收藏 回复
写回复
回复

还没有回复,快来抢沙发~

发动态
发帖子
其他
创建于2009-10-09

94

社区成员

6647

社区内容

其他产品/厂家
社区公告
暂无公告