hibernate01ORM的引入详解编程语言

 

复制代码
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(); 
            } 
             
        } 
         
     } 
 
}
复制代码

 

hibernate01ORM的引入详解编程语言

 

 

 

hibernate01ORM的引入详解编程语言

 

 

 

复制代码
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(); 
    } 
 
}

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/12119.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论