一、jdbc基础

1、jdbc是什么: Java Data Base Connectivity
     java语言访问数据库的一套接口; 也是调用者和实现者的一套协议, 数据库厂商开发自己的实现。

2、为什么会有jdbc:

  •     没有jdbc以前
           缺点: 1> 移植性差 、
                      2> 程序员要熟悉各个数据库的驱动
    
 
  • 有了jdbc:
         

3、jdbc的缺点:
  • 代码失控:
          public static void main(String[] args){

          String driver = "com.mysql.jdbc.Driver";//数据库驱动
          String url = "jdbc:mysql://localhost:3306/**";//**指的是数据库名称
          String username = "root";//数据库用户名
          String password = "root";//数据库密码
          Connection conn = null;
          Statement stat = null;
          ResultSet rs = null;
          try{
               Class.forName(driver);//加载数据库驱动
               conn = DriverManager.getConnection(url,username,password);//连接Connection对象
               stat = conn.createStatement();//创建Statement对象
               String sql = "select userid,username,password from user";
               rs = stat.executeQuery(sql);//执行sql语句返回结果集
               while(rs.next()){
                    int userid = rs.getInt("userid");
                    String name = rs.getString("username");
                    String pwd = rs.getString("password");
                    System.out.println("id:"+userid+"\tname:"+name+"\tpassword:"+pwd);
               }
          } catch(ClassNotFoundException e){
               e.printStackTrace();
          } catch(SQLException e){
               e.printStackTrace();
          } finally {
               if(rs != null){
                    try{
                         rs.close();//关闭结果集rs
                    } catch(SQLException e){
                         e.printStackTrace();
                    } finally {
                         if(stat != null){
                              try{
                                   stat.close();//关闭stat对象
                              } catch(SQLException e){
                                   e.printStackTrace();
                              } finally {
                                   if(conn != null){}
                                        try{
                                             conn.close();//关闭conn对象
                                        } catch(SQLException e){
                                             e.printStackTrace();
                                        }
                              }
                         }
                    }
               }
          }
     }
  • sql与java代码耦合
  • 安全性: sql注入, 木有转义
  • 持久层与业务层耦合
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值