import java.sql.*;
/**
* <p>title: jdbc连接数据库</p>
* <p>description: 本实例演示如何使用jdbc连接oracle数据库,并演示添加数据和查询数据。</p>
* <p>copyright: copyright (c) 2003</p>
* <p>filename: jdbcconn.java</p>
* @version 1.0
*/
public class jdbcconn{
private string url="";
private string username="";
private string password="";
/**
*<br>方法说明:获得数据连接
*<br>输入参数:
*<br>返回类型:connection 连接对象
*/
public connection conn(){
try {
//加载jdbc驱动
class.forname("oracle.jdbc.driver.oracledriver");
//创建数据库连接
connection con = drivermanager.getconnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "test", "test");
return con;
}catch(classnotfoundexception cnf){
system.out.println("driver not find:"+cnf);
return null;
}catch(sqlexception sqle){
system.out.println("can´t connection db:"+sqle);
return null;
} catch (exception e) {
system.out.println("failed to load jdbc/odbc driver.");
return null;
}
}
/**
*<br>方法说明:执行查询sql语句
*<br>输入参数:connection con 数据库连接
*<br>输入参数:string sql 要执行的sql语句
*<br>返回类型:
*/
public void query(connection con, string sql){
try{
if(con==null){
throw new exception("database connection can´t use!");
}
if(sql==null) throw new exception("check your parameter: ´sql´! don´t input null!");
//声明语句
statement stmt = con.createstatement();
//执行查询
resultset rs = stmt.executequery(sql);
resultsetmetadata rmeta = rs.getmetadata();
//获得数据字段个数
int numcolumns = rmeta.getcolumncount();
while(rs.next())
{
for(int i = 0;i< numcolumns;i++)
{
string stemp = rs.getstring(i+1);
system.out.print(stemp+" ");
}
system.out.println("");
}
}catch(exception e){
system.out.println("query error:"+e);
}
}
/**
*<br>方法说明:执行插入、更新、删除等没有返回结果集的sql语句
*<br>输入参数:connection con 数据库连接
*<br>输入参数:string sql 要执行的sql语句
*<br>返回类型:
*/
public void execute(connection con, string sql){
try{
if(con==null) return;
statement stmt = con.createstatement();
stmt.executeupdate(sql);
}catch(exception e){
system.out.println("execute error: sql = "+sql);
system.out.println(e);
}
}
/**
*<br>方法说明:实例演示
*<br>输入参数:
*<br>返回类型:
*/
public void demo(){
try{
jdbcconn oc = new jdbcconn();
connection conn = oc.conn();
string sql = "insert into tbl_user(id,name,password)values(seq_user.nextval,´switch´,´haorenpingan´)";
oc.execute(conn,sql);
sql = "select * from tbl_user";
oc.query(conn,sql);
conn.close();
}catch(sqlexception se){
system.out.println(se);
}catch(exception e){
system.out.println(e);
}
}
/**
*<br>方法说明:主方法
*<br>输入参数:
*<br>返回类型:
*/
public static void main(string[] arg){
if(arg.length!=3){
system.out.println("use: java jdbcconn url username password");
return;
}
jdbcconn oc = new jdbcconn();
oc.url = arg[0];
oc.username=arg[1];
oc.password=arg[2];
oc.demo();
}
}
闽公网安备 35060202000074号