当前位置:   article > 正文

Java的JDBC编程

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

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本身没有相关方法和属性.

  1. DataSource dataSource = new MysqlDataSource();
  2. ((MysqlDataSource) dataSource).setUrl();
  3. ((MysqlDataSource) dataSource).setUser();
  4. ((MysqlDataSource) dataSource).setPassword();
  5. MysqlDataSource dataSource1 = new MysqlDataSource();
  6. dataSource1.setUrl();
  7. dataSource1.setUser();
  8. dataSource1.setPassword();

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

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

  Connection connection = dataSource.getConnection();

3.4 构造SQL语句

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

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

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

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

int n = statement.executeUpdate();

3.6释放上述资源

  1. statement.close();
  2. connection.close();

总结:

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/674764
推荐阅读
相关标签
  

闽ICP备14008679号