zoukankan      html  css  js  c++  java
  • JDBC简介及JDBC编写步骤及常见API

    JDBC : Java Database Connectivity,Java数据库连接。SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC。

    这里写图片描述

    JDBC就像一座桥,连接Java程序与数据库 。

    JDBC的简介

    这里写图片描述

    驱动实际上就是现在的程序能够跟目标程序进行通信的一个接口规范,驱动中包含接口实现。

    进行JDBC开发
    1、学习JDBC接口规范 java.sql javax.sql 接口如何使用
    2、在工程中导入 相应数据库驱动(JDBC实现)

    核心JDBC接口规范
    DriverManager 驱动管理器
    Connection 连接
    Statement 操作状态 (子接口 PreparedStatement、CallableStatement)
    ResultSet 结果集

    这里写图片描述

    第一个JDBC程序
    1、搭建数据库环境
    在运行中通过services.msc启动MySQL

    这里写图片描述

    再通过cmd连接mysql

    这里写图片描述

    创建数据库
    切换数据库
    创建数据表:

    向数据表插入数据

    通过查询语句进行查询:

    这里写图片描述

    2、创建web工程 megustas,导入数据库驱动(去各个数据库的官网下载),将对应的jar包复制到WebContentWEB-INFlib目录下:

    这里写图片描述

    3、新建Java程序,使用JDBC接口规范连接数据库

    注意:在实际开发中并不推荐采用registerDriver方法注册驱动,一般使用具体原因会在后续JDBC API中进行详细介绍。

    结果集ResultSet可以通过下图进一步认识:

    这里写图片描述

    sql注入

    这里写图片描述

    可以使用PreparedStatement代替Statement,通过预编译来防止这种sql注入。

    小结

    一、搭建实验环境 :
    1、在mysql中创建一个库,并创建user表和插入表的数据。
    2、新建一个Java工程,并导入数据驱动。
    二、编写程序,在程序中加载数据库驱动
    DriverManager. registerDriver(Driver driver)
    三、建立连接(Connection)
    Connection conn=DriverManager.getConnection(url,user,pass);
    四、创建用于向数据库发送SQL的Statement对象,并发送sql(向数据库发送的是sql语句,托福考试评分标准得到的回复是ResultSet结果集
    Statement st=conn.createStatement();
    ResultSet rs=st.executeQuery(sql);
    五、从代表结果集的ResultSet中取出数据,打印到命令行窗口
    六、断开与数据库的连接,并释放相关资源

    • 通过DriverManager加载驱动程序driver;
    • 通过DriverManager类获得表示数据库连接的Connection类对象;
    • 通过Connection对象绑定要执行的语句,生成Statement类对象;
    • 执行SQL语句,接收执行结果集ResultSet;
    • 可选的对结果集ResultSet类对象的处理;
    • 必要的关闭ResultSet、Statement和Connection

    图解如下:

    这里写图片描述

    对于上图中的数据库URL需要注意:
    连接任何数据库 编写JDBCURL

    这里写图片描述

    Mysql URL : jdbc:mysql://localhost:3306/day13 通过?传递参数
    Oracle写法:jdbc:oracle:thin:@localhost:1521:sid

    常见API

    1、Connection接口 —- JDBC连接表示接口
    * Connection接口一个对象 代表 一个数据库 连接
    作用两点:
    1) 获得操作数据库Statement对象
    —– Statement 获得普通操作状态对象
    —– PreparedStatement(是Statement子接口) 预编译状态对象
    —— CallableStatement(是PreparedStatement子接口) 操作数据库内部存储过程的
    * Statement对象可以向数据库发送sql语句,获得ResultSet结果集

    2) 进行事务控制
    开启一个事务
    提交一个事务
    回滚一个事务

    2、Statement接口 —- 代表一个操作状态
    作用:操作数据库SQL语句、调用存储过程
    :用于向数据发送查询语句。select语句,返回值ResultSet 结果集
    :用于向数据库发送insert、update或delete语句 返回值int 受影响行数
    :用于向数据库发送任意sql语句 — 建立数据库 建立数据表,增删改查 — 返回值boolean
    * sql结果是ResultSet 返回true — 否则false

    批处理 —- 一次执行多条sql
    :把多条sql语句放到一个批处理中。
    :向数据库发送一批sql语句执行。

    3、ResultSet

  • 相关阅读:
    Angular 从入坑到挖坑
    如何获取 C# 类中发生数据变化的属性信息
    我的领域驱动设计运用实例
    Newbe.Claptrap
    体验 QQ机器人C# SDK 1.X 特性总结
    Newbe.Claptrap 框架中为什么用 Claptrap 和 Minion 两个词?
    轻松应对并发问题 Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车
    谈反应式编程在服务端中的应用,数据库操作优化,提速 Upsert
    十万同时在线用户,需要多少内存?——Newbe.Claptrap 框架水平扩展实验
    docker-mcr 助您全速下载 dotnet 镜像
  • 原文地址:https://www.cnblogs.com/zhangyanran/p/10037539.html
Copyright © 2011-2022 走看看