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();获取的是写好的工具包,减少大部分的代码

 

 

 

原文地址:https://www.cnblogs.com/pandam/p/11010743.html