暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

(一)JDBC-工具类使用

大数据开发笔记 2020-07-19
427

一、介绍

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

各种不同类型的数据库都有相应的实现,本文中的代码都是针对MySQL数据库实现的。

二、案例
  1. 测试数据

    create database mydb character set utf8 collate utf8_bin;
    use mydb;
    create table user(
    id int primary key auto_increment,
    username varchar(20),
    password varchar(20),
    nickname varchar(20),
    age int
    );

    insert into user values (null,'aaa','123','小丽',34);
    insert into user values (null,'bbb','123','大王',32);
    insert into user values (null,'ccc','123','小明',28);
    insert into user values (null,'ddd','123','大黄',21);
  2. 新建maven工程导入所需jar包

    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>8.0.11</version>
    </dependency>

    3.编程db.properties

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/mydb
    username=root
    password=root

    4.JDBCUtil

    public class JDBCUtil {
       private static final String driverClassName;
       private static final String url;
       private static final String username;
       private static final String password;

       static{
           // 获取属性文件中的内容:
           Properties properties = new Properties();
           try {
               properties.load(new FileInputStream("src/db.properties"));
          } catch (FileNotFoundException e) {
               e.printStackTrace();
          } catch (IOException e) {
               e.printStackTrace();
          }

           driverClassName=properties.getProperty("driverClassName");
           url=properties.getProperty("url");
           username=properties.getProperty("username");
           password=properties.getProperty("password");
      }

       /**
        * 注册驱动的方法
        */
       public static void loadDriver(){
           try {
               Class.forName(driverClassName);
          } catch (ClassNotFoundException e) {
               e.printStackTrace();
          }
      }

       /**
        * 获得连接的方法
        */
       public static Connection getConnection(){
           Connection conn = null;
           try{
               // 将驱动一并注册:
               loadDriver();
               // 获得连接
               conn = DriverManager.getConnection(url,username, password);
          }catch(Exception e){
               e.printStackTrace();
          }
           return conn;
      }

       /**
        * 释放资源的方法
        */
       public static void release(Statement stmt,Connection conn){
           if(stmt != null){
               try {
                   stmt.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              }

               stmt = null;
          }
           if(conn != null){
               try {
                   conn.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              }
               conn = null;
          }
      }

       public static void release(ResultSet rs,Statement stmt,Connection conn){
           // 资源释放:
           if(rs != null){
               try {
                   rs.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              }

               rs = null;
          }
           if(stmt != null){
               try {
                   stmt.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              }

               stmt = null;
          }
           if(conn != null){
               try {
                   conn.close();
              } catch (SQLException e) {
                   e.printStackTrace();
              }
               conn = null;
          }
      }
    }
    三、测试类

      1.JDBC 开发步骤

                 第一步:加载驱动

                 第二步:获得连接

                 第三步:基本操作

                 第四步:释放资源

     /**
        * 查询操作:使用工具类
        */
       @Test
       public void demo1(){
           Connection conn = null;
           Statement stmt = null;
           ResultSet rs = null;
           try{
               // 获得连接:
               conn = JDBCUtil.getConnection();
               // 创建执行SQL语句的对象:
               stmt = conn.createStatement();
               // 编写SQL:
               String sql = "select * from user";
               // 执行查询:
               rs = stmt.executeQuery(sql);
               // 遍历结果集:
               while(rs.next()){
                   System.out.println(rs.getInt("id")+" "+rs.getString("username")+" "+rs.getString("password"));
              }
          }catch(Exception e){
               e.printStackTrace();
          }finally{
               // 释放资源:
               JDBCUtil.release(rs, stmt, conn);
          }
      }
    }

       2.测试结果

文章转载自大数据开发笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论