Java的JDBC编程

码农派大星. 2024-06-11 17:35:09 阅读 60

 博主主页: 码农派大星.

    数据结构专栏: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访问数据库层次结构:

JDBC优势:

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

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

程序的可移植性大大增强

3. JDBC使用

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

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

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

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

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

3.2创建数据源对象

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

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

1)数据库服务器在哪里

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

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

这几个部分都是子类具有

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

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

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

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简化后的组件.



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。