JDBC与JAVA数据库编程

简介:

一、JDBC的概念

  1、 JDBC (Java DataBase Connectivity) Java数据库连接

    a) 主要提供java数据库应用程序的API支持

 

  2、 JDBC的主要功能

    a) 创建和管理与数据源的连接

    b) 发送SQL数据命令到数据源

    c) 提取并处理由数据源返回的结果集

 

  3、 JDBC可分为两层

    a) 驱动程序管理接口

    b) JDBC API

 

  4、 Java.sql包中定义的常用基本的JDBC API

    a) 类DriverManager:管理一组JDBC驱动程序的基本服务

    b) 接口Connection:获得与数据库的连接

    c) 接口Statement:用于执行静态的SQL语句,并返回生成的结果集对象

    d) 接口ResultSet:表示数据库结果集的数据表,通常执行查询数据库的语句生成      

    e) 类SQLException:有关数据库的异常操作

 

二、JDBC的基础应用

  1、编写JDBC应用程序的基本步骤

    a) 导入JDBC的包或包括JDBC的包

      构建路径(Building Path)-> 配置路径

      (b)加载JDBC驱动

1 //1.加载驱动
2 
3 Class.forName("oracle.jdbc.driver.OracleDriver");
4 
5 Oracle.jdbc.driver.*为包名

 

  (c)建立与数据库的连接  

1 Connection conn = DriverManager.getConnection(url, user, password);

 

  (d)执行SQL语句,与数据库交互

//3.新建statement对象

Statement st = conn.createStatement();

//4.执行Sql语句

String sql = "select * from TEST";

 //接收结果集

ResultSet rs = st.executeQuery(sql);

 

  (e)关闭建立的连接

    各种关闭

  2.实例

    a.加载驱动程序

      Class类中提供加载驱动的方法

      Public static Class forName(String className)

      Throws ClassNotFoundException

      Oracle驱动类的描述符为:oracle.jdbc.driver.OracleDriver

 

    b.建立数据库的连接

      DriverManager提供了getConnection方法可获得指定数据库的连接对象(Connecting conn):

      Public static Connectioin getConnection(String url, String username, String pwd )throws SQLException

      Oracle数据库的url格式为:

        Jdbc:oracle:thin:@<主机名或ip>:端口号:<数据库名>

 

    c.获得Statement 对象(Statement st)

      Connection类中提供获得Statement对象的方法

      Statement getStatement() throws SQLException

 

    d.Statement类中提供可执行SQL命令的方法

      Boolean execute(String SQL) throws SQLException

      Result executeQuery(String SQL) throws SQLException

      Int executeUpdate(String SQL) throws SQLException

 

    e.ResultSet 可提供对结果集操作的方法

      移动结果集操作指针

        Boolean next() throws SQLException

      由字段名获取其值

        String getString(String columeName) throws SQLException 

 

 

三:JDBC的高级应用

  1.PreparedStatement接口是Statement的子接口,允许使用不同的参数多次使用同一个SQL语句

   2.Connection接口提供了创建PreparedStatement对象的方法,可指定SQL语句

    PreparedStatement preparedStatement(String Sql) throws SQLException

DEMO:

//问号为占位符

String Sql = “insert into tableName values(?,?)”

PreparedStatement pre = conn.preparedStatement(Sql);

Pre.setInt(1,99);

Pre.setString(2,”asd”);

Int count = pre.executeUpdate();

 

 

  3.事务处理

    事务:是由相关的SQL操作构成的一个完整的操作单元,该单元作为一个整体来使用要么全做要么不做

    事务的四个属性:

      原子性:要么全做,要么全不做

      一致性:事务使数据从一个一致性状态大另一个一致性状态

      持久性:事务对数据库的操作时永久的

      隔离性:一个事务的操作不影响其他事务的操作即事务与事务之间是独立的

 

  4.java中的事务操作

 

Conn.setAutoCommit(false)//取消事务的自动提交

  Conn.commit();//事务的提交

  Conn.rollback();//事务的回滚


相关文章
|
4月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
424 2
|
4月前
|
Java
如何在Java中进行多线程编程
Java多线程编程常用方式包括:继承Thread类、实现Runnable接口、Callable接口(可返回结果)及使用线程池。推荐线程池以提升性能,避免频繁创建线程。结合同步与通信机制,可有效管理并发任务。
227 6
|
4月前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
290 1
|
7月前
|
Java API 微服务
为什么虚拟线程将改变Java并发编程?
为什么虚拟线程将改变Java并发编程?
382 83
|
5月前
|
SQL Java 数据库
2025 年 Java 从零基础小白到编程高手的详细学习路线攻略
2025年Java学习路线涵盖基础语法、面向对象、数据库、JavaWeb、Spring全家桶、分布式、云原生与高并发技术,结合实战项目与源码分析,助力零基础学员系统掌握Java开发技能,从入门到精通,全面提升竞争力,顺利进阶编程高手。
1015 2
|
4月前
|
安全 前端开发 Java
从反射到方法句柄:深入探索Java动态编程的终极解决方案
从反射到方法句柄,Java 动态编程不断演进。方法句柄以强类型、低开销、易优化的特性,解决反射性能差、类型弱、安全性低等问题,结合 `invokedynamic` 成为支撑 Lambda 与动态语言的终极方案。
217 0
|
6月前
|
安全 Java 数据库连接
2025 年最新 Java 学习路线图含实操指南助你高效入门 Java 编程掌握核心技能
2025年最新Java学习路线图,涵盖基础环境搭建、核心特性(如密封类、虚拟线程)、模块化开发、响应式编程、主流框架(Spring Boot 3、Spring Security 6)、数据库操作(JPA + Hibernate 6)及微服务实战,助你掌握企业级开发技能。
881 3
|
5月前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
516 100
|
5月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
423 16