標籤:span var pac err except tin .class 串連 多少
package cn.bdqn.bean;public class Dept { private Integer deptno; private String dname; private String loc; public Dept(Integer deptNo, String dname, String loc) { super(); this.deptno = deptNo; this.dname = dname; this.loc = loc; } public Dept() { super(); } public Integer getDeptno() { return deptno; } public void setDeptno(Integer deptNo) { this.deptno = deptNo; } public String getDname() { return dname; } public void setDname(String dname) { this.dname = dname; } public String getLoc() { return loc; } public void setLoc(String loc) { this.loc = loc; } @Override public String toString() { return "Dept [deptNo=" + deptno + ", dname=" + dname + ", loc=" + loc + "]"; }}
package cn.bdqn.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import cn.bdqn.bean.Dept;public class JDBCTest { public static void main(String[] args) { /** * 擷取資料庫連接的4要素 * 01.url * 02.driverClass * 03.userName * 04.password */ String driver="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String userName="t10"; String password="t10"; /** * 建立jdbc需要的API */ Connection connection=null; PreparedStatement ps=null; ResultSet rs=null; try { Class.forName(driver); //載入驅動 connection= DriverManager.getConnection(url, userName, password);//擷取串連 String sql="select * from dept where deptno=?"; //書寫sql語句 ps=connection.prepareStatement(sql); //執行個體化ps對象 ps.setInt(1, 30);//給參數賦值 rs=ps.executeQuery(); //擷取查詢的結果集 while(rs.next()){ int deptno=rs.getInt("deptno"); String dName=rs.getString("dname"); String loc=rs.getString("loc"); Dept dept=new Dept(deptno, dName, loc); System.out.println(dept); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally{ try { //釋放資源 rs.close(); ps.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }}
package cn.bdqn.test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import cn.bdqn.bean.Dept;public class ORMTest { /** * 中繼資料: * Student * age * name * address * 這些屬性都是用來描述Student對象特徵的! 描述資料的資料就是中繼資料! * */ public static void main(String[] args) throws Exception, IllegalAccessException, ClassNotFoundException { //我們所寫的實體類 String className="cn.bdqn.bean.Dept"; //通過反射擷取這個類的執行個體 Object object=Class.forName(className).newInstance(); String driver="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String userName="t10"; String password="t10"; /** * 建立jdbc需要的API */ Connection connection=null; PreparedStatement ps=null; ResultSet rs=null; try { Class.forName(driver); //載入驅動 connection= DriverManager.getConnection(url, userName, password);//擷取串連 String sql="select * from dept where deptno=?"; //書寫sql語句 ps=connection.prepareStatement(sql); //執行個體化ps對象 ps.setInt(1, 20);//給參數賦值 rs=ps.executeQuery(); //擷取查詢的結果集 while(rs.next()){ //01.擷取中繼資料的結果集 ResultSetMetaData data = rs.getMetaData(); //02.擷取資料庫中有多少欄位 int count = data.getColumnCount(); //03.迴圈擷取欄位的名稱和類型 for (int i = 1; i <=count; i++) { String name= data.getColumnName(i); //欄位名稱 String type= data.getColumnTypeName(i); //欄位類型 System.out.println(name+"====》"+type); //給我一個欄位名稱 ,我給你返回一個set欄位名 給類中的屬性 賦值 String method=getMethod(name); //04.判斷 資料庫中的欄位類型 要和java中的資料類型相互匹配 if (type.equals("NUMBER")) { object.getClass().getMethod(method, Integer.class) .invoke(object, rs.getInt(name)); }else if(type.equals("VARCHAR2")){ object.getClass().getMethod(method, String.class) .invoke(object, rs.getString(name)); } } Dept dept=(Dept) object; System.out.println(dept); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally{ try { //釋放資源 rs.close(); ps.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** *給我一個欄位名稱 ,我給你返回一個set欄位名 給類中的屬性 賦值 * @param name 欄位名稱 * @return setName() */ private static String getMethod(String name) { return "set"+name.substring(0, 1).toUpperCase()+name.substring(1).toLowerCase(); }}
hibernate01ORM的引入