JDBC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。

什么是JDBC?
JAVA DataBase Connectivity (Java 数据库连接技术)
由Java编写的一组类和接口组成,为各种类型的数据库提供
统一的访问。
JDBC的作用?
一种将程序数据持久化到数据库的机制。
JDBC的组成?
1:JDBC API 主要做三件事:
与数据库建立连接/发送SQL语句/处理结果
2:JDBC Driver Manager 驱动程序管理器
3:JDBC驱动 不同的数据库需要不同的驱动,这些驱动都实现
了JDBC API中的各种接口。

技术分享图片

JDBC访问数据库的步骤?
1:加载JDBC驱动
2:与数据库建立连接
3:发送SQL语句并得到返回的结果
4:处理返回结果
(Structured Query Language)

技术分享图片

 

 

两种常用的驱动方式:
1:JDBC-ODBC桥连方式连接数据库
2:纯Java方式连接数据库
------------------------------
常见的连接数据库错误:
1、驱动名错误
2、数据连接字符串,数据库用户名,输错
3、数据库操作结束,没有关闭数据库连接,占用系统资源
4、关闭数据库连接的语句没放到finally语句中,可能不被执行

 

 

一、1:JDBC-ODBC桥连方式连接数据库

      

技术分享图片

 

     
      
      
      
      
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      

 

2:纯Java方式连接数据库

技术分享图片

 

     
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      
      
      
      
      
      

技术分享图片

 

     
      
      
      
      
      
      
      
      
      
      
      
      
      

1、在不需要ResultSet对象,Statement对象,Connection对象的时候,显示地关闭它们
public void close() throws SQLException
2、要按照,先ResultSet结果,后Statement,最后
Connectiond的顺序关闭资源。因为ResultSet是通过Statement执行SQL命令得到的,而Statement是需要在创建连接之后才可以
使用的。
3、用户如果不关闭ResultSet,当Statement关闭,重新执行或
用于多从结果序列中获得下一个结果时,该ResultSet将自动关闭

 

 

三、常用的5个对象

 

Connection,DriverManager(略,见用例)

 

1、Statement常用方法

技术分享图片

2、ResultSet常用方法

技术分享图片

 

3、PreparedStatement的介绍

 

PreparedStatement接口继承自Statement接口:(优点):

1.提高了代码的可读和可维护性

2.提高了SQL语句的执行性能

3.提高了安全性( or ‘1‘=‘1‘ 注入拼接攻击)

 

PreparedStatement接口的使用

使用PreparedStatement的execute(String sql)方法执行sql语句如果是查询的话返回true,如果是更新或插入的话就返回false所以执行插入或更新语句应该使用executeUpdate():

(1) 返回SQL 数据操作语言 (DML) 语句的行数

(2) 对于无返回内容的 SQL 语句,返回 0。

 

statement和preparedStatement的区别:

1.statement每次执行sql语句,相关数据库都要执行拼接sql语句的编译,preparedstatement是预编译的,代码可重用支持批处理。使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。

2: statement需要拼接sql语句,preparedstatement的sql语句可以用变量替换,达到代码重用的好处

3.安全性:传递给Statement的字符串参数会自动被驱动器忽略。传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。

 

使用PreparedStatement操作数据库的三步骤:

1.创建PreparedStatement对象

2.设置每个输入参数的值

3.执行SQL语句

 

PreparedStatement用例:

技术分享图片

 

 

JDBC用例:

技术分享图片 技术分享图片































以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章

JDBCJDBC连接mySQL数据库常见错误

JDBCJDBC连接mySQL数据库常见错误

JDBC

关于JDBC小总结

java JDBC编程学习笔记

java JDBC编程学习笔记