JDBC ( Java数据库连接(Java DataBase Connectivity))

JDBC:由一组使用JAVA语言编写的类和接口组成,可以为多种关系数据库提供统一访问;充当了各种不同数据库对话之间的媒介,可以吧数据持久化保存。

持久化:持久化是将程序中的瞬时数据在瞬时状态和持久状态的转换机制。

JDBC工作原理:

JDBC ( Java数据库连接(Java DataBase Connectivity))

JDBC  API:

DriverManager类 :装载驱动,并担任数据库连接服务;
Connection接口 :负责连接数据库并担任传送数据的任务  
Statement接口 :由 Connection 产生、负责执行SQL语句
PreparedStatement接口 :Statement 的子接口,也是由Connection 产生,同样负责执行SQL语句,与Statement 相比更具由高安全性、高性能、高可读性和高可维护性。
ResultSet接口:负责保存Statement执行后所产生的查询结果

JDBC访问数据库步骤:

5.添加信息

1.加载JDBC驱动

Class.forName("JDBC驱动类名称");

2.与数据库建立连接

Connection conn = DriverManager.getConnection(数据连接字符串,数据库名,密码);

6.插入已添加信息

3.发送SQL语句,并得到返回结果

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT `id` ,`name` FROM `master`");

4.处理返回结果

where (rs.next()){

int id = rs.getInt("id")

}

7.更新信息("UPDATE `表名` SET `输入要更新的信息`")

8.查询信息(

stmt = conn.cerateStatement();

rs = stmt.excuteQuery("SELECT 查询的字段 FROM 表名");

System.out.println(“输入提示”);


Statement接口常用方法

JDBC ( Java数据库连接(Java DataBase Connectivity))

Resultset接口常用方法

JDBC ( Java数据库连接(Java DataBase Connectivity))

注:在不需要Statement和Resultset和Connection时显式关闭

    语法:public void close() throws SQLException

要先按Resultset结果集,后Statement,最后Connection的顺序关闭资源

如不关闭Resultset,当Statement关闭,重新执行时,该Resultset自动关闭

PreparedStatement接口:

Statement 的子接口,也是由Connection 产生,同样负责执行SQL语句,与Statement 相比更具由高安全性、高性能、高可读性和高可维护性。

1.创建:

PreparedStatement pstmt = con.preparedStatement("UPDATE `dog` SET `health` = ?,`love` = ? WHERE `id` = ?");

2.设置参数的值

pstmt.setInt(1,18);

3.执行SQL语句

pstmt.excuteUpdate();


PreparedStatement的好处:

提高代码的可读性和可维护性,提高SQL语句执行能力,提高了代码安全性

JDBC常见错误:

1.JDBC驱动类名称错误,出现异常

2.数据库连接错误

3.数据库操作结束之后,没有关闭数据库

4.关闭数据库语句没有放到finally语句块中

5.字符编码错误(?useUnicode=true&characterEncoding=utf-8)