栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java JDBC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java JDBC

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

  2. 简而言之,就是jdk制定了一组连接数据库的规范接口,让各个数据库厂商来实现他们自己的驱动程序,从而达到仅仅通过一个接口可以实现对多种数据库产品的使用,大大简化了我们连接数据库,执行数据库操作的步骤。

2. 常用接口
  1. DriverManager:这个类管理数据库驱动程序的列表,查看加载的驱动是否符合JAVA Driver API的规范。
  2. Connection:与数据库进行通信的连接对象。
  3. Statement:把创建的SQL对象,转而存储到数据库当中。
  4. ResultSet:它是一个迭代器,用于检索查询数据。
3. 使用jdbc的一般步骤
  1. 注冊驱动 (仅仅做一次)

    1. Class.forName(“com.mysql.jdbc.Driver”); 推荐采用这种方式(驱动的全类名需要根据自己使用的数据库连接包中的驱动类来确定,这里采用的是mysql的驱动(旧版本))
    2. DriverManager.registerDriver(com.mysql.jdbc.Driver);
    3. System.setProperty(“jdbc.drivers”, “driver1:driver2”);
  2. 建立连接(Connection)

    1. Connection conn =DriverManager.getCoonnection(url, user, password);
      1. url的格式:JDBC:子协议:子名称//主机名:port/数据库名?属性名=属性值&…
      2. 如:"jdbc:mysql://localhost:3306/test“
  3. 创建运行SQL的语句(Statement)

    1. 运行对象Statement负责运行SQL语句。由Connection对象产生

      1. Statement st = connection.createStatement();
    2. PreparedStatement

      1. 对SQL语句进行预编译,这样防止了SQL注入 提高了安全性

        PreparedStatement  ps=connection.prepareStatement( "update user set id=? where username=?”);                                               
        

        sql语句中用 ? 作为通配符,变量值通过参数设入:ps.setObject(1, object);

  4. 运行语句

    1. executeQuery(String sql)

      1. 该方法用于运行实现查询功能的sql语句。返回类型为ResultSet(结果集)

      2. ResultSet  rs = st.executeQuery(sql);
        
    2. executeUpdate(String sql)

      1. 该方法用于运行实现增、删、改功能的sql语句,返回类型为int,即受影响的行数
      2. int flag = st.executeUpdate(sql);
  5. 处理运行结果(ResultSet)

    1. ResultSet对象负责保存Statement运行后所产生的查询结果。
    2. 结果集ResultSet是通过游标来操作的。
  6. 释放资源

    1. 数据库资源不关闭,其占用的内存不会被释放,徒耗资源,影响系统。
4. 代码演示
  1. 预备工作

    1. 新建java的maven项目,导入数据库连接依赖

       
                  mysql
                  mysql-connector-java
                  8.0.25
              
      
      1. 如果不会使用maven,可以直接百度maven中央仓库在搜索栏搜索数据库如(mysql)下载jar包,或者直接百度搜索相应的jar包,导入你的工程库里即可
    2. 新建数据库mybatis

    3. 创建表person如下

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PTAGjSNC-1634918677156)(C:UserssunlitAppDataRoamingTyporatypora-user-imagesimage-20211022234807254.png)]

  2. 代码

    package com.sunlit.jdbc;
    
    import java.sql.*;
    
    
    public class demo1 {
        public static void main(String[] args) throws ClassNotFoundException, SQLException {
            String Url = "jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8";
            String username = "root";
            String password = "sunlit";
    
            //1. 注册驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2. 获取数据库连接
            Connection connection = DriverManager.getConnection(Url, username, password);
            //3. 定义sql语句,获取执行对象
            String sql = "select * from person";
            Statement statement = connection.createStatement();
            //4. 执行sql语句
            ResultSet resultSet = statement.executeQuery(sql);
            //5. 遍历
            while(resultSet.next()){
                int id = resultSet.getInt(1);
                String name = resultSet.getString(2);
                String age = resultSet.getString(3);
                System.out.println("id:"+id+" name:"+name+" money:"+age);
            }
            //6. 释放资源
            statement.close();
            connection.close();
    
    
        }
    }
    
    
    1. 输出结果
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345180.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号