五一放假了,闲来无事学习了解了一下JDBC,制作了一个简单的例子。
1.首先准备数据:
首先打开oracle 创建一张表EC_ORG_ROLE,表的字段截图如下
创建的语句为:
CREATE TABLE "EC_ORG_ROLE"
( "ID" NUMBER,
"PARENTROLEID" NUMBER,
"NAME" VARCHAR2(100 BYTE),
"DESCRIPTION" VARCHAR2(200 BYTE),
"TYPE" VARCHAR2(100 BYTE),
"WEIGHT" VARCHAR2(100 BYTE),
"STATE" NUMBER
)
然后在表中插入自己的数据
数据准备完毕!!
2.开始创建一个java工程:
怎么创建我就不详说了,直接上工程目录截图:
注意 conf文件夹创建的是源文件夹即Source Folder,图形因为有mysql和oracle两种数据库的情况,大家只关注oracle的就可以了
然后查看oracle_conn.properties中的内容:
driverName=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:ORACLE
username=eapsdb
password=eapsdb
我们的工具类OracleUtil类的代码如下:
package com.nantian.oracle.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class OracleUtil {
private static Properties property;
static{
String url=OracleUtil.class.getClassLoader().getResource("oracle_conn.properties").getPath();
try {
property=new Properties();
property.load(new FileInputStream(url));
} catch (IOException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
Connection connection=null;
try {
Class.forName(property.getProperty("driverName"));
String url=property.getProperty("url");
String username=property.getProperty("username");
String password=property.getProperty("password");
connection=DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void release(Connection con, Statement statement,ResultSet rs){
if(null!=rs){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs=null;
}
if(null!=statement){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
statement=null;
}
}
if(null!=con){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
con=null;
}
}
}
}
}
然后编写完成之后编写我们的juint测试类:
package com.nantian.test;
import static org.hamcrest.CoreMatchers.instanceOf;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
import com.nantian.mysql.util.MySqlUtil;
import com.nantian.oracle.util.OracleUtil;
public class UtilTest {
@Test
public void myOracleUtilTest(){
Connection connection=OracleUtil.getConnection();
Statement stm=null;
ResultSet rs=null;
try {
stm= connection.createStatement();
String sql="select * from ec_org_role";
rs=stm.executeQuery(sql);
while(rs.next()){
int id=rs.getInt(1);
int parentRoleid=rs.getInt(2);
String name=rs.getString(3);
String description=rs.getString(4);
String type=rs.getString(5);
String weight=rs.getString(6);
int status=rs.getInt(7);
System.out.println("Row="+id +"-"+parentRoleid+"-"+name);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
OracleUtil.release(connection, stm, rs);
}
}
}
然后右键执行run as juintTest就可以看到结果了
Row=11697-11691-业务经办人员
Row=11698-11691-业务部门处长
至此使用jdbc连接数据库进行查询就已经完成了。