Java的JDBC编程

2024-06-08 1442阅读

Java的JDBC编程

 博主主页: 码农派大星.

    数据结构专栏:Java数据结构

 数据库专栏:MySQL数据库

关注博主带你了解更多数据结构知识


1. Java的数据库编程:JDBC

数据库驱动包:不同的数据库,对应不同的编程语言提供了不同的数据库驱动包,如:MySQL提 供了Java的驱动包mysql-connector-java,需要基于Java操作MySQL即需要该驱动包。

JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是 Java中的数据库连接规范。这个API由 java.sql.*,javax.sql.* 包中的一些类和接口组成,它为Java 开发人员操作数据库提供了一个标准的API,可以为多种关系数据库提供统一访问。

MySQL Connector Java下载链接

2. JDBC工作原理

JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包 含一些通用的接口类。

JDBC访问数据库层次结构:

Java的JDBC编程

JDBC优势:

Java语言访问数据库操作完全面向抽象接口编程

开发数据库应用不用限定在特定数据库厂商的API

程序的可移植性大大增强

3. JDBC使用

3.1准备数据库驱动包,并添加到项目的中:

在项目中创建文件夹lib,并将依赖包mysql-connector-java-5.1.47.jar复制到lib中。再配置该jar 包到本项目的中:

先选中lib,再Ctrl+v,再点击ok即可.

Java的JDBC编程

Java的JDBC编程

然后再右键lib,点击Add as library,最后点击ok即可.

Java的JDBC编程

Java的JDBC编程

此时添加完 "库" 之后,idea就能分析出jar包里有什么.

3.2创建数据源对象

Java的JDBC编程

 DataSource是Java标准库JDBC自带的一个接口,不能直接new,只能new它的子类

Java的JDBC编程

还要给这个对象创建必要的属性 :

1)数据库服务器在哪里

2)访问服务器账户是什么

3)访问服务器账户密码是什么

这几个部分都是子类具有

DataSource本身没有相关方法和属性.

Java的JDBC编程

DataSource dataSource = new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl();
        ((MysqlDataSource) dataSource).setUser();
        ((MysqlDataSource) dataSource).setPassword();
        MysqlDataSource dataSource1 = new MysqlDataSource();
        dataSource1.setUrl();
        dataSource1.setUser();
        dataSource1.setPassword();

Java的JDBC编程

这里只是针对数据源对象初始化做的一些准备工作,并没有真正与数据库服务器进行网络通信.

3.3 和数据库服务器进行网络连接

  Connection connection = dataSource.getConnection();

3.4 构造SQL语句

//让用户输入id和name
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入id: ");
        int id = scanner.nextInt();
        System.out.println("请输入name: ");
        String name = scanner.next();
 String sql1 ="insert into student values(?,?) ";
        PreparedStatement statement = connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);

我们也可以手动输入来插入数据 

 String sql ="insert into student values(1,'张三') ";
        PreparedStatement statement = connection.prepareStatement(sql);

3.5把SQL语句发送到服务器上执行

int n = statement.executeUpdate();

3.6释放上述资源

statement.close();
        connection.close();

总结:

在实际开发中JDBC一般不会使用,因为写起来比较麻烦,后来就有了很多库和框架,针对JDBC进行封装和简化.

后续会带来MyBaits框架,就是针对JDBC简化后的组件.

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]