我与Db2 9新特性的零距离体验(2)

<script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page1.js"></script><script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page2.js"></script>作者: 宗一 出处:IT168  

读取配置文件和连接数据库的类(Db2Conn.java)代码如下:

/**//*
* Created on Jul 8, 2004
*
*/

/**//**
* File: Db2Conn.java
*
* Desc: Utility Class for establishing Db2 connection via JCC Type 4 Driver
*/

import java.sql.*;

public class Db2Conn ...{

/**//**
* Default Constructor
*/
public Db2Conn() ...{}

/**//*
* Get Database connection using Database name, username, password,

machine name and port number
*/
public static Connection get(String Db, String userName,

String passwd, String host, String port)...{
Connection conn=null;

try ...{
/**//** Load the Db2(R) JCC driver with DriverManager **/
Class.forName("com.ibm.Db2.jcc.Db2Driver");

/**//** Create Database URL and establish Db Connection **/
String databaseURL = "jDbc:Db2://"+host+":"+port+"/"+Db;
java.util.Properties properties = new java.util.Properties ();
properties.setProperty ("user", userName);
properties.setProperty ("password", passwd);
conn = DriverManager.getConnection(databaseURL,properties);

/**//** print any error messages **/
if(conn==null)System.out.println("Connection Failed /n");
}catch (ClassNotFoundException e) ...{
System.out.println("Exception in Db2Connection");
e.printStackTrace();
}catch (java.sql.SQLException e) ...{
e.printStackTrace();
System.exit(-1); }

return conn;

}
}


插入操作 

执行插入操作的类为insertxml.java,该程序读取一个XML文件,该XML文件包括对客户的描述信息,如:客户的地址信息、电话、传真等。并将该XML文件的内容插入到CUSTOMER表中的XML类型的字段。
insertxml.java其代码如下:

package xml;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;

public class Test2 ...{

/**//**
* @param args
*/
/**//** private members **/

private static Connection conn;
static Properties Db2ConnProps = new Properties();
static Properties fileinputProps = new Properties();
public static void main(String[] args) throws FileNotFoundException,

IOException, SQLException ...{
String Db, userName, passwd, host, port;

host=port=Db=userName=passwd=null;
/**//* load the contents of properties file in case of missing arguments*/
Db2ConnProps.load(new FileInputStream

("F://eclipse//WorkPlace//Db2XML//src//Db2Conn.properties"));
Db=Db2ConnProps.getProperty("databaseName");
userName=Db2ConnProps.getProperty("userName");
passwd=Db2ConnProps.getProperty("password");
host=Db2ConnProps.getProperty("hostName");
port=Db2ConnProps.getProperty("portNumber");

/**//** connect to the database **/
conn=Db2Conn.get(Db,userName,passwd,host,port);
int id = 99;//由于id是主键,所以该id不能相同,如连续插入多次,

可以修改id的值或者在数据库中将CUSTOMER表中的id字段设置为自动增长。
String fn = "F://eclipse//WorkPlace//Db2XML//src//Client8877.xml";
String sqls =
"insert into customer ( cid, info) values (?, ?)";
File file = new File(fn);

try ...{
PreparedStatement insertStmt = conn.prepareStatement(sqls);
conn.setAutoCommit(true);
insertStmt.setInt(1, id);

insertStmt.setBinaryStream(2, new FileInputStream(file), (int) file
.length());
if (insertStmt.executeUpdate() == 1) ...{
System.out.println("insertBinStream:: No record inserted.");

}
insertStmt.executeUpdate();

} catch (RuntimeException e) ...{
// TODO Auto-generated catch block
e.printStackTrace();
} finally ...{
conn.close();
}
}
}

<script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page1.js"></script><script language="javascript" src="http://jymxad.googlepages.com/ad-csdnjymx-page2.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值