zoukankan      html  css  js  c++  java
  • JDBC

      Java数据库连接(Java Database connectivity)简称JDBC,是Java程序与数据库系统通信的标准API,它包含一组用Java语言编写的类和接口。以下以MySQL为例,介绍使用JDBC的一般步骤:

      1.  调用Class.forName()方法加载数据库驱动程序

    1. Class.forName("com.mysql.jdbc.Driver");
    2. 定义要连接数据库的地址URL,格式为:jdbc:<子协议><子名称>
      String mysqlURL="jdbc:mysql://host:port/dbName";
    3. 使用适当的驱动程序类建立与数据库的连接,调用DriverManager对象的getConnection()方法,获得一个Connection对象,它表示一个打开的连接
      Connection conn = DriverManager.getConnection(URL,"数据库用户名","密码");
    4. 创建语句对象Statement,使用Connection接口的createStatement方法创建一个Statement对象,该对象用于传递简单的不带参数的SQL语句给数据库管理系统来执行
      Statement stmt = conn.createStatement();

      使用Connection接口的prepareStatement方法创建一个PreparedStatement对象,该对象用于传递一个或多个输入参数的SQL语句,例如:

      PreparedStatement psm = conn.prepareStatement("INSERT INTO book(bookid,name) VALUES(?,?)");
      psm.setString(1, "9787208061644");
      psm.setString(2, "追风筝的人");

      使用Connection接口的prepareCall方法创建一个CallableStatement语句对象,该对象用于调用存储过程,例如:

      CallableStatement csm = conn.prepareCall("{call validate(?,?)}");
      csm.setString(1, "9787208061644");
      csm.setString(2, "追风筝的人");
    5. 执行语句,Statement接口提供了3个方法执行SQL语句,分别是executeQuery、executeUpdate和execute。
      1. executeQuery用于执行SELECT语句,并返回单个结果集,保存在ResultSet对象中,如:
        String sql = "SELECT * FROM book";
        ResultSet rd = stmt.executeQuery(sql);
      2. executeUpdate用于执行SQL DML语句,即INSERT、UPDATE和DELETE语句,此时返回SQL语句执行时数据表受影响的行数,返回值是一个整数。executeUpdate方法还可用于执行SQL DDL语句,如CREATE TABLE、DROP TABLE等,此时返回值为0,例如:
        String sql = "DELETE FROM book WHERE bookid="+"'12'";
        int n = stmt.executeUpdate(sql);
      3. execute方法既可执行查询语句,也可以执行更新语句,常用于处理类型未知的SQL语句
    6. 对返回的结果集ResultSet对象进行处理,ResultSet对象包含了SQL语句的执行结果,它使用一组get方法实现对结果行中每列数据的访问。使用next方法用于移动到ResultSet的下一行,使其成为当前行。例如,下面代码用来显示结果集中所有记录的前两列:
      String sql = "SELECT * FROM book";
      ResultSet rs = stmt.executeQuery(sql);
      //对结果集进行迭代
      while(rs.next()){
          bookid = rs.getString(1);
          name = rs.getString(2);
          System.out.println(bookid+","+name);
      }
    7. 关闭连接,操作完成后要关闭所有的JDBC对象,以释放资源。包括:关闭结果集,关闭语句对象和连接对象。归纳起来后,一般代码如下:
      String dbDriver = "com.mysql.jdbc.Driver";
      String url = "jdbc:mysql://host:port/dbName";
      Connection conn = null;
      Statement stmt = null;
      ResultSet rs = null;
      Class.forName(dbDriver);
      conn = DriverManager.getConnection(url,"数据库用户名","密码");
      stmt = conn.createStatement();
      rs = stmt.executeQuery("SELECT * FROM tablename");
      while(rs.next()){
          //读取数据操作
      }
      //关闭连接
      rs.close();
      stmt.close();
      conn.close();
  • 相关阅读:
    ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(4)之业务仓储工厂
    ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(3)之创建实体层
    ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目
    ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(1)之数据库设计
    ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(开篇)
    jQuery验证码发送时间秒递减(刷新存储cookie)
    闲来无事写一个jquery计算器,没有进行封装......
    ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统(7)
    <script runat=server>、<%%>和<%#%>的区别
    .net 实现 URL重写,伪静态
  • 原文地址:https://www.cnblogs.com/xiajingzero/p/4425768.html
Copyright © 2011-2022 走看看