• JDBC


    JDBC

    JDBC(Java Data Base Connectivity,java数据库连接)

    JDBC需要连接驱动 驱动就是实现类

    Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。

     

    应用程序就是我们自己写的类

    JDBC开发步骤

    1. 注册驱动.

    告知JVM使用的是哪一个数据库的驱动Connection获取

    1. 获得连接.

    使用JDBC中的类,完成对MySQL数据库的连接

    1. 获得语句执行平台

    通过连接对象获取对SQL语句的执行者对象

    1. 执行sql语句

    使用执行者对象,向数据库执行SQL语句

    获取到数据库的执行后的结果

    1. 处理结果
    2. 释放资源.

    调用一堆close()方法

    查询记录:select

    为减少代码,可以封装成工具类

     

    运用时如何导入工具包

     

    增删改查只有查询的执行sql语句不同样

    这是查询的语句,和上图对比

     

    查询的时候需要返回返回值,所以简历一个ArrayList集合

    并且用while循环查到每一个值

    public static void main(String[] args) throws SQLException {
        add();
    }
    //新增分类Sort
    public static void add() throws SQLException{
        //1.获取连接对象
        Connection conn=JDBCUtils.getConn();
        //2.获取语句执行平台
        String sql="insert into sort(sname) value(?)";
        PreparedStatement pst=conn.prepareStatement(sql);
        //3.执行sql
        pst.setString(1, "打火机");
        int row=pst.executeUpdate();
        System.out.println(row);
        //4.释放资源
        JDBCUtils.close(conn, pst);
    }

    public static void main(String[] args) throws SQLException {
    
          shan();
    
    }
    
    public static void shan() throws SQLException{
    
          //1.获取连接对象
    
               Connection shan=JDBCUtils.getConn();
    
               //2.获取语句执行平台
    
               String sc="delete from sort where sid=6";
    
               PreparedStatement pst=shan.prepareStatement(sc);
    
               //3.执行sql
    
               int row=pst.executeUpdate();
    
               System.out.println(row);
    
               //4.释放资源
    
               JDBCUtils.close(shan, pst);
    
     
    
    }

    public static void main(String[] args) throws SQLException {
    
          gai();
    
    }
    
    public static void gai() throws SQLException{
    
                     //1.获取连接对象
    
          Connection gai=JDBCUtils.getConn();
    
                     //2.获取语句执行平台
    
          String ga="update sort set sname='修改口红' where sid=5";
    
          PreparedStatement pst=gai.prepareStatement(ga);
    
                     //3.执行sql
    
          int a=pst.executeUpdate();
    
          System.out.println(a);
    
                     //4.释放资源
    
          JDBCUtils.close(gai, pst);
    
     
    
     
    
    }

    public static void main(String[] args) throws SQLException {
    
               chan();
    
          }
    
          public static void chan() throws SQLException{
    
               Connection cha=JDBCUtils.getConn();
    
               String sql="select * from sort";
    
               PreparedStatement pst=cha.prepareStatement(sql);
    
               ResultSet a=pst.executeQuery();
    
               ArrayList<Sort> arr=new ArrayList<Sort>();
    
               while(a.next()){
    
                     Sort sort=new Sort();
    
                     sort.setSid(a.getInt("sid"));
    
                     sort.setSname(a.getString("sname"));
    
                     arr.add(sort);
    
               }
    
               System.out.println(arr);
    
               JDBCUtils.close(cha, pst);
    
          }

    Sort是查询方式调用的另一个工具包

    定义一个ArrayList命名为arr,用while循环调用next()方法循环a,在while循环方法体里定义一个名为sort(这是一个方法名)这不是工具包这个s是小写的s,调用小s里的sid方法,里面填写循环a获取到的int类型的sid,存进去。Sname同上。最后存入sort进ArrayList命名为arr的集合里。

    注释:Connection cha=JDBCUtils.getConn();获取的是写好的工具包,减少大部分的代码

     

     

     

  • 相关阅读:
    xcode
    C++中一个井号和两个井号的使用
    未能正确加载“visual C++ package”包
    cocos2dx CCLayer上精灵的点击判断的问题
    Command /Developer/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp failed with exit code 1
    如何优化cocos2d程序的内存使用和程序大小:第二部分_(转)
    PVR: VFrame attempted to use one of these functions 报错
    网页里加入百度在线音乐播放器
    CCHttpClient发起https请求
    伪装qq空间登录
  • 原文地址:https://www.cnblogs.com/pandam/p/11010743.html
Copyright © 2020-2023  润新知