您的位置:首页 > 编程语言 > Java开发

回顾JDBC,java操作数据库

2020-04-05 07:26 639 查看

java操作数据库

JDBC概念:
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

JDBC
API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中),主要包括(斜体代表接口,需驱动程序提供者来具体实现):

DriverManager:负责加载各种不同驱动程序(Driver),并根据不同的请求,向调用者返回相应的数据库连接(Connection)。Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connection)。Connection:数据库连接,负责与进行数据库间通讯,SQL执行以及事务处理都是在某个特定Connection环境中进行的。可以产生用以执行SQL的Statement。Statement:用以执行SQL查询和更新(针对静态SQL语句和单次执行)。PreparedStatement:用以执行包含动态参数的SQL查询和更新(在服务器端编译,允许重复执行以提高效率)。CallableStatement:用以调用数据库中的存储过程。SQLException:代表在数据库连接的建立和关闭和SQL语句的执行过程中发生了例外情况(即错误)。

JDBC 是个"低级"接口,也就是说,它用于直接调用 SQL 命令。在这方面它的功能极佳,并比其它的数据库连接 API
易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的
API,这种API在幕后被转换为诸如 JDBC 这样的低级接口。

模式支持编辑

JDBC API 既支持数据库访问的两层模型(C/S),同时也支持三层模型(B/S)。

在两层模型中,

Java applet或应用程序将直接与数据库进行对话。这将需要一个JDBC驱动程序来与所访问的特定数据库管理系统进行 通讯。用户的SQL语句被送往数据库中,而其结果将被送回给用户。数据库可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机/服务器配置,其中用户的计算机为客户机,提供数据库的计算机为服务器。网络可以是 Intranet(它可将公司职员连接起来),也可以是 Internet。

在三层模型中,命令先是被发送到服务的"中间层",然后由它将SQL 语句发送给数据库。

数据库对 SQL 语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。MIS 主管们都发现三层模型很吸引人,因为可用中间层来控制对公司数据的访问和可作的的更新的种类。中间层的另一个好处是,用户可以利用易于使用的高级API,而中间层将把它转换为相应的低级调用。最后,许多情况下三层结构可提供一些性能上的好处。

建立链接


下载驱动
我们进入官网 https://dev.mysql.com/downloads/connector/j/
下载:


将jdbc复制到项目下

代码:

package jdbc;

import java.sql.*;
public class Conn {
Connection con;
public Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("数据库驱动加载成功");
} catch(ClassNotFoundException e){
e.printStackTrace();
}
try {
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3333/mysql?characterEncoding=UTF-8","root","123456");
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
public static void main(String[] args) throws SQLException {
Conn c = new Conn();
c.getConnection();
c.close();
}
public void close() {
try{
con.close();
System.out.println("数据库关闭成功");
}catch (SQLException e) {
e.printStackTrace();
}

}
}


1.加载数据库驱动

Class.forName(“com.mysql.jdbc.Driver”);

2.获取数据库连接

其中url叫套接字,不同的数据库不同的定义规范

MySQL: jdbc:mysql://hostname:port/databasename

Oracle: jdbc:oracle:thin:@hostname:port:databasename

// 作为本机:localhost 127.0.0.1

conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/****”, “root”, “”);

3.创建查询对象

ps = conn.prepareStatement(“select id,name,code,age,sex from t_student”);

4.获取查询的结果集

ResultSet rs = ps.executeQuery();

5.遍历结果集输出数据

while (rs.next()) {

String name = rs.getString(“name”);

int age = rs.getInt(“age”);

System.out.println(“name:” + name + “\tage:” + age);

}

  • 点赞
  • 收藏
  • 分享
  • 文章举报
一只很菜但是好学的猪 发布了38 篇原创文章 · 获赞 1 · 访问量 1570 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: