五一放假了,闲来无事学习了解了一下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连接数据库进行查询就已经完成了。