9-1 数据库世界和应用程序世界的连接
数据库和应用程序之间的关系
系统由应用和数据库组合而成
驱动——两个世界之间的桥梁
驱动就是一个用来连接应用和数据库的非常小的特殊程序(大概只有几百 KB)
驱动的种类
现在广泛使用的驱动标准主要有 **ODBC(Open DataBase Connectivity)**和 **JDBC(Java Data Base Connectivity)**两种
C:\PostgreSQL\jdbc\postgresql-9.4.1208.jar
9-2 Java基础知识
第一个程序Hello,World
//在画面上显示简短字符串的Java程序
public class Hello{
public static void main(String[] args){
System.out.print("Hello, World");
//SQL 语句中的字符串是使用单引号(')括起来的,而在 Java 中则需要使用双引号(")括起来
}
C:\PostgreSQL\java\src\Hello.java
编译和程序执行
把源文件保存到文件夹之后,Java 源代码的编写就完成了,但此时程序并不能执行,还需要**编译(compile)**这个步骤
代码的编译是通过已经安装的 JDK 自带的“javac.exe”程序进行的,程序名末尾的“c”是 compile 的缩写。该程序存放在“C:\PostgreSQL\java\jdk\bin”文件夹下
javac.exe 需要通过命令提示符来执行

- cd(change directory)命令(移动到指定文件夹)
cd C:\PostgreSQL\java\src
命令执行成功之后并不会显示什么特别的信息。执行失败时会显示错误信息
- javac命令(编译)
C:\PostgreSQL\java\jdk\bin\javac Hello.java
命令执行成功之后并不会显示什么特别的信息。执行失败时会显示错误信息
编译成功之后,在存放源文件的文件夹下会生成一个名为“Hello.class”的新文件。这是一个可以执行的文件,称为“类文件”
- java命令(执行)
C:\PostgreSQL\java\jdk\bin\java Hello
如果命令提示符中显示出了“Hello,World”,就表示执行成功了
使用 Java 语言进行编程时,必须经过如下 3 个步骤:
4. 编写源代码,保存为源文件
↓
5. 使用 javac 命令进行编译,生成类文件
↓
6. 使用 java 命令执行程序
常见错误
大小写错误
Java源代码中的保留字要区分大小写,这是它和数据库的不同点之一
使用全角空格
Java源代码中不能出现全角字符/全角空格(注释除外)
源文件的文件名和类名不一致
命令名和文件名错误
9-3 通过 Java连接 PostgreSQL
执行SQL语句的Java程序
import java.sql.*; //声明了连接数据库执行 SQL 语句所需要的 Java 功能
public class DBConnect1 {
public static void main(String[] args) throws Exception {
/* 1) PostgreSQL的连接信息 */
Connection con; //Connection:连接,负责连接数据库
Statement st; //Statement:声明,负责存储和执行 SQL 语句
ResultSet rs; //ResultSet:结果集,负责保存 SQL 语句的执行结果
String url = "jdbc:postgresql://localhost:5432/postgres";
String user = "postgres";
String password = "test";
/* 2) 定义JDBC驱动 */
Class.forName("org.postgresql.Driver");
//连接时使用什么样的驱动。“org.postgresql.Driver”是PostgreSQL的JDBC驱动的类名
/* 3) 连接PostgreSQL */
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
/* 4) 执行SELECT语句 */
rs = st.executeQuery("SELECT 1 AS col_1"); //把常量 1 作为 1 行 1 列的结果返回
/* 5) 在画面中显示结果 */
rs.next();
System.out.print(rs.getInt("col_1"));
//程序执行成功之后,命令提示符中会显示“1”
/* 6) 切断与PostgreSQL的连接 */
rs.close();
st.close();
con.close();
}
}
C:\PostgresSQL\java\src\DBConnectl.java
执行连接数据库的程序
编译
C:\PostgresSQL\java\jdk\bin\javac DBConnectl.java
指定 JDBC驱动文件并执行
C:\PostgresSQL\java\jdk\bin\java -cpC:\PostgresSQL\jdbc\*;.DBConnectl
“cp”是“类路径(classpath)”的缩写,也就是“类文件保存位置”的意思
jar文件就是多个class文件的集合,jar文件的位置也是通过类路径来指定的
“”在 Windows 中是“全部字符串”的意思,“;”是包含多个路径时的分隔符*,“.”代表的是当前文件夹
执行上述命令后,如果命令提示符中显示“1”,就代表执行成功了
选取表中的数据
//从Product表中选取product_id和product_name这两列全部数据的Java程序
import java.sql.*;
public class DBConnect2{
public static void main(String[] args) throws Exception {
/* 1) PostgreSQL的连接信息 */
Connection con;
Statement st;
ResultSet rs;
String url = "jdbc:postgresql://localhost:5432/shop";
String user = "postgres";
String password = "test";
/* 2) 定义JDBC驱动 */
Class.forName("org.postgresql.Driver");
/* 3) 连接PostgreSQL */
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
/* 4) 执行SELECT语句 */
rs = st.executeQuery("SELECT product_id, product_name
FROM Product");
/* 5) 在画面中显示结果 */
while(rs.next()) {
System.out.print(rs.getString("product_id") + ", ");
System.out.println(rs.getString("product_name"));
}
/* 6) 切断与PostgreSQL的连接 */
rs.close();
st.close();
con.close();
}
}
编译
C:\PostgreSQL\java\jdk\bin\javac DBConnect2.java
执行
C:\PostgreSQL\java\jdk\bin\java –cp C:\PostgreSQL\jdbc\*;. DBConnect2
对Java这样的程序语言而言,数据访问都是逐行进行的,想要处理多行数据时,就需要使用循环来实现
更新表中的数据
//执行用于更新的SQL语句来更新表中数据的Java 程序
import java.sql.*;
public class DBConnect3{
public static void main(String[] args) throws Exception {
/* 1) PostgreSQL的连接信息 */
Connection con;
Statement st;
String url = "jdbc:postgresql://localhost:5432/shop";
String user = "postgres";
String password = "test";
/* 2) 定义JDBC驱动 */
Class.forName("org.postgresql.Driver");
/* 3) 连接PostgreSQL */
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
/* 4) 执行SELECT语句 */
int delcnt = st.executeUpdate("DELETE FROM Product");
//不论 INSERT 语句还是 UPDATE 语句,Java 在执行用于更新的 SQL 语句时使用的都是 executeUpdate
/* 5) 在画面中显示结果 */
System.out.print(delcnt + "已删除行");
/* 6) 切断与PostgreSQL的连接 */
st.close();
con.close();
}
}
编译
C:\PostgreSQL\java\jdk\bin\javac DBConnect3.java
执行
C:\PostgreSQL\java\jdk\bin\java –cp C:\PostgreSQL\jdbc\*;. DBConnect3
执行成功之后,命令提示符中会显示“8 条数据已经被删除”
通过使用驱动,程序可以执行包括SELECT、DELETE、UPDATE和INSERT在内的所有 SQL语句
本文介绍如何通过Java连接数据库,讲解数据库与应用程序的关系,驱动的作用及种类,如ODBC和JDBC。此外,详细展示了使用Java基础进行Hello,World程序的编写、编译和执行过程。接着,通过实例演示了Java连接PostgreSQL数据库,执行SQL语句,包括选择、更新数据等操作。"
109319633,9532918,手机数据预处理与机器学习入门,"['机器学习', '数据预处理', 'pandas库', 'sklearn库', '数据处理']

2228

被折叠的 条评论
为什么被折叠?



