1、甚么是JDBC
JDBC(Java Database Connection)为java开发者使用数据库提供了统1的编程接口,它由1组java类和接口组成.是java程序与数据库系统通讯的标准APl。 JDBC API使得开发人员可使用纯 java 的方式来连接数据库,并履行操作。
sun公司由于不知道各个主流商用数据库的程序代码,因此没法自己写代码连接各个数据库。因此,sun公司决定自己提供1套api,凡是数据库想与Java进行连接的,数据库厂商自己必须实现JDBC这套接口。而数据库厂商的JDBC实现,我们就叫它此数据库的数据库驱动。
2、使用JDBC访问数据库流程
3、JDBC经常使用接口
1、Driver接口
Driver接口由数据库厂家提供,对java开发者而言,只需要使用Driver接口就能够了。
在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序。不同的数据库有不同的装载方法。
驱动就是各个数据库厂商实现的sun公司提出的JDBC接口,即对Connection等接口的实现类的jar文件。
装载Mysql驱动
Class.forName("com.mysql.jdbc.Driver");
装载Oracle驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
2、DriverManage接口
1DriverManager是JDBC的管理层,作用于用户和驱动程序之间。
1DriverManager跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。
3、Connection接口
Connection与特定数据库的连接(会话),在连接上下文中履行SQL语句并返回结果。
DriverManager的getConnection()方法建立在JDBC URL中定义的数据库Connection连接上。
连接MYSQL数据库:
Connection connection = DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");
连接ORACLE数据库:
Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database","user","password");
4、Statement接口
用于履行静态SQL语句并返回它所生成结果的对象。
3种Statement类:
Statement:
由createStatement创建,用于发送简单的SQL语句。(不带参数的)
PreparedStatement:**
继承自Statement接口,由prepareStatement创建,用于发送含有1个或多个输入参数的sql语句。PreparedStatement对象,会进行预编译,比Statement对象的效力更高,并且可以避免SQL注入。我们1般都使用PreparedStatement。
CallableStatement:
继承自PreparedStatement,由方法prePareCall创建,用于调用存储进程。
经常使用的Statement方法:
execute():运行语句,返回是不是有结果集。
executeQuery():运行select语句,返回ResultSet结果集。
executeUpdate():运行insert/update/delete操作,返回更新的行数。
5、ResultSet接口
Statement履行SQL语句时,返回ResultSet结果集。
ResultSet提供的检索不同类型字段的方法,经常使用的有:
getString():取得在数据库里varchar、char等数据类型的对象。
getFloat():取得在数据库里Float类型的对象。
getDate():取得在数据库里Date类型的数据。
getBoolean():取得在数据库里面Boolean类型的数据。
依序关闭使用的对象及连接:
ResultSet