• JDBC总述


    写在前面

    JDBC总述
    学习JDBC:请关注专栏——JDBC学习——内容详细
    相关文章:
    JDBC链接Mysql数据库
    JDBC完成对数据库数据操作(增,删,改,查)
    JDBC使用数据库连接池连接数据库(DBCP,C3P0,Druid)
    JDBC数据库事务
    Apache-DBUtils实现CRUD操作
    欢迎光临我的主页:Java笔记本

    JDBC介绍

    • JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。
    • JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。
    • JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。

    JDBC体系结构

    • JDBC接口(API)包括两个层次:
    • 面向应用的API:Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。
    • 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用。

    JDBC是sun公司提供一套用于数据库操作的接口,java程序员只需要面向这套接口编程即可。

    不同的数据库厂商,需要针对这套接口,提供不同实现。不同的实现的集合,即为不同数据库的驱动。 ————面向接口编程

    JDBC程序编写步骤

    1.导入相关的jar包:java.sql包,对应数据库厂商提供的驱动
    2.获取数据库连接:得到一个connection对象
    3.使用preparedStatement实现curd操作
    4.断开连接,关闭资源

    JDBC API小结

    • 两种思想

    • 面向接口编程的思想

    • ORM思想(object relational mapping)

      • 一个数据表对应一个java类
      • 表中的一条记录对应java类的一个对象
      • 表中的一个字段对应java类的一个属性

    sql是需要结合列名和表的属性名来写。注意起别名。

    • 两种技术

    • JDBC结果集的元数据:ResultSetMetaData
      - 获取列数:getColumnCount()
      - 获取列的别名:getColumnLabel()

    • 通过反射,创建指定类的对象,获取指定的属性并赋值

    JDBC理解

    jdbc中将对数据库的增删改查都封装起来了,对外体现为Dao,

    • 通常为一个基础Dao,主要作为一个抽象类出现,封装通用方法
    • 然后建立类,即具体的XxxDao,让其去继承Dao,然后在具体的XxxDao里面编写具体的操作。

    真正在企业开发应用的时候,jdbc都被封装了。主要使用框架。

    JDBC总结

    总结
    @Test
    public void testUpdateWithTx() {
    		
    	Connection conn = null;
    	try {
    		//1.获取连接的操作(
    		//① 手写的连接:JDBCUtils.getConnection();
    		//② 使用数据库连接池:C3P0;DBCP;Druid
    		//2.对数据表进行一系列CRUD操作
    		//① 使用PreparedStatement实现通用的增删改、查询操作(version 1.0 \ version 2.0)
    //version2.0的增删改public void update(Connection conn,String sql,Object ... args){}
    //version2.0的查询 public <T> T getInstance(Connection conn,Class<T> clazz,String sql,Object ... args){}
    		//② 使用dbutils提供的jar包中提供的QueryRunner类
    			
    		//提交数据
    		conn.commit();
    			
    	
    	} catch (Exception e) {
    		e.printStackTrace();
    			
    			
    		try {
    			//回滚数据
    			conn.rollback();
    		} catch (SQLException e1) {
    			e1.printStackTrace();
    		}
    			
    	}finally{
    		//3.关闭连接等操作
    		//① JDBCUtils.closeResource();
    		//② 使用dbutils提供的jar包中提供的DbUtils类提供了关闭的相关操作
    			
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    elementui select组件下拉框底部增加自定义按钮
    秋招面试!阿里、字节、美团等大厂面试我只刷这份《Java面试题》没想到还真拿下了offer!
    小程序技术优势与产业互联网相结合的分析
    Linux扩展根目录容量
    D. Corrupted Array
    【十分钟】manim安装 2022
    单机hbase-2.4.15配置snappy压缩
    Python枚举类定义和使用
    论人机关系
    【C++初阶】动态内存管理
  • 原文地址:https://blog.csdn.net/qq_54796785/article/details/125381228