hibernate01ORM的引入

來源:互聯網
上載者:User

標籤: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的引入

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.