jdbc和Hibernate (oracle和mySql)连接数据库 代码步骤

jdbc  连接数据库 :

           1 连接数据库

         第一步 先获得数据库驱动

                    Class.forName("oracle.jdbc.OracleDrive");  //oracle的连接驱动

                    Class.forName("com.mysql.jdbc.Driver");   //mySql 的连接驱动

       第二步:  获得数据库连接对象

                    String  url = "jdbc:oracle:thin:@localhost:1521:xe";   //oracle

                    String   url = "jdbc:mysql://localhost:3306/库名      //mySql

                    String userName="root";

                    String  passWord = "root";

                    Connection conn = DriverManager.getConnnection(url,userName,passWord);

       第三步   获得 Statement对象 并且执行Sql 语句

                  Statement sts = conn.createStatement();

                      ResultSet rs = sts.executeQuery("select  date,id from stu");

                      //迭代查询

                       while(rs.next()){

                                 System.out.ptintln(rs.getDate(1));

                         System.out.ptintln(rs.getInt(2));

                                  ..........................................................;

                            }

                     conn.setAutoCommit(false);//默认是自动提交 
                第四步   关闭数据库连接

                 关闭结果集

               if(rs!=null){

      try{

                            rs.close();

      }catch (SQLException e) {
       e.printStackTrace();
      }

                    }

                关闭声明

              if(sts!=null){

                        try{

                           sts.close();

                         } cath(SQLException e){

                                  e.printStackTrace();

                         }

                 }

              if(conn!=null){

                try{

                  conn.close();

                }cath{

                            e.printStackTrace();

                } 

            }

    Statement  和PreparedStatement 区别两个接口的区别

     Statement   PreparedStatement的父类

      SQL 语句被预编译并存储在 PreparedStatement 对象中

     Statement 不支持预编译  而PreparedStatement 支持这就导致了PreparedStatement的效率比前者高,可读性也好

例如:PreparedStatement  可以使用占位符?  

      PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");             

                  pstmt.setBigDecimal(1, 153833.00) pstmt.setInt(2, 110592);

           ResultSet rs = pstmt.executeUpdate();

     如果 Statement  中sql 条件过会导致语句长并且不便于读写,严重影响开发效率,也容易将sql语句写错从而造成严重影响

        Statement sts = conn.createStatement();   sql  主要是靠拼接  容易出问题

        ResultSet rs = sts.executeQuery("select  date,id from stu");

    两者总结:

                如果单纯的只有一个简单的查询可以选择用Statement ,前提是你对sql熟练不易写错,因为PreparedStatement Statement 的开销大小。但是如果你需要进行复杂而且重复量极高的sql语句,那最好是选择PreparedStatement,因为它的预编译能力是 前者所没有的,这样大大提高了执行的效率,尤其是在批量删除,更新,插入时,效果越加明显,并且也不会因为sql拼接的原因出问题   批量处理 addBath().

    强力推荐使用  PreparedStatement!!!



  Hibernate 连接数据库

       1 读取配置文件 hibernate.cfg.xml文件  设置Hibernate 配置信息

       Configuration config = new Configuration().getConfig();

      2 读取映射文件 具体类的xml   注意文件路径

         config.addFile("xxx/xxx.xml");

      3. 获得Session工厂

          SessionFactory factory = config.buildSessionFactory();

       4. 获得session

            Session   session =factory.openSession();

        5. 开启事务

            Transaction tran=session.beginTransaction();
                tran.begin();//这里开启了事务

                 session.save(stu);

      6. 提交事务

            tran.commit();

       7.   关闭 会话

            session.close();










  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坑里水库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值