Java 数据库编程
文章目录
前言
我们曾经介绍过可以存储结构化数据的 XML文件,下面将提出计算机软件界普遍采用的”数据库技术“。
数据库技术是信息系统的一个核心技术。是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。
——摘自百度百科/数据库技术
这里更多关于数据库的基础知识将不进行赘述,我们直接进行介绍数据库在 Java 中的的使用。
SQL 相关知识详细介绍
SQL 用法详解 https://blog.csdn.net/SwaggerHB/article/details/130226112?spm=1001.2014.3001.5501
MySQL 数据库系统
关系型数据库系统有很多,著名的有Access、Oracle、SQL Server、MySQL等。这些系统在数据容量、工作效率
经济成本方面各有特点,差异很大,但基本功能是一样的,或者说差别很小。在具体的操作方面(通过编程访问数据库),虽然也存在一些差异,但绝大部分的操作都是完全相同的。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL 是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
——摘自 百度百科 / MySQL(关系型数据库管理系统)
MySQL 安装教程
连接数据库
Java 可以连接不同的数据库,如 Oracle、SQL Server、MySQL等。连接不同的数据库要用到不同的第三方提供的工具包,这里我们使用的是 MySQL。
Jar 包的导入
Jar包最新版本下载地址
(一)、打开下载地址后,点击 Connector/J
(二)、点击 Select Operating System: 选项框,选择 Platform Independent
(三)、点击下面的 Download 进行下载,然后解压缩到自己指定的目录下。
也可以下载我这里准备好的
百度网盘链接 https://pan.baidu.com/s/1TN1wFOAUz-EE6S5Tbg3fmw:
提取码:4242
导入 Jar 包
将 Jar 包导入自己的编程软件(Eclipse 或者 Idea)中的具体要使用数据库的项目中,这里就不提供详细过程了。
简单数据库表查询编程
首先建立一个测试类;
public class Test {
//MySQL 数据库服务器地址,数据库名称;
private static final String url = "jdbc:mysql://127.0.0.1:3306/mec_chat";
//MySQL 数据库用户名,因人而异
private static final String user = "root";
//MySQL 数据库密码,因人而异
private static final String password = "021001";
public static void main(String[] args) {
try {
//导入MySQL数据库驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//创建数据库链接
Connection connection = DriverManager.getConnection(url, user, password);
//准备 SQL 语句:这就是所谓的“宿主”型数据库操作的方法。
String sql = "SELECT id, nick, password, active FROM chat_user";
//建立 SQL 语句的“预编译”,为数据库访问做准备;
PreparedStatement state = connection.prepareStatement(sql);
//执行 SQL 语句,将得到“结果集”
ResultSet rs = state.executeQuery();
//遍历结果集
while (rs.next()) {
String id = rs.getString("id");
String nick = rs.getString("nick");
System.out.println(id + ", " + nick);
}
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
"jdbc:mysql:“是协议名。
127.0.0.1是 MySQL 本地服务器主机。如果是在本地机(也就是直接在自己的电脑上安装的 MySQL)的话,可以使用"localhost”。
后面的3306是端口号,这个值是固定的。
最后面的”mec_chat“,是数据库名。
上述代码的执行结果如下:
与 Navicat 中的原数据进行比较:
总结上面的数据库操作,可以看出由以下几步组成:
1、导入数据库驱动;
2、建立数据库连接;
3、构造字符串类型的 SQL语句;
4、建立 SQL 预编译;
5、执行 SQL查询,得到结果集;
6、遍历结果集,获得记录中的每一个字段的值。
其中前两步,在多次数据库查询时,只要执行一次,并保持数据库连接就可以了,不需要每次都执行。
数据库的简单操作(插入、更改和删除)
上面数据库表查询代码实现了简单的数据记录的查询,用类似方法也可以实现数据记录的 INSERT、 UPDATE 和 DELETE 操作。
与上面记录的查询过程类似:先建立字符串形式的(INSERT / UPDATE / DELETE)SQL 语句,然后用:
state.executeUpdate();
实现记录的增、改和删操作。
executeUpdate() 方法返回值为 int ,表示成功增、改、删的记录个数。如果返回值为 0,则表明操作不成功。
数据库插入操作如下:
public class Test {
private static final String URL = "jdbc:mysql://127.0.0.1:3306/mec_chat";
private static final String USER = "root";
private static final String PASSWORD = "021001";
public static void main(String[] args) {
try {
String id = "123465";
String nick = "刘六";
String password = "424245";
int active = 1;
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection = DriverManager.getConnection(URL, USER, PASSWORD);
String sql = "INSERT INTO chat_user" + " (id, nick, password, active)" + " VALUES (?,?,?,?)";
PreparedStatement state = connection.prepareStatement(sql);
state.setString(1, id);
state.setString(2, nick);
state.setString(3, password);
state.setInt(4, active);
state.executeUpdate();
sql = "SELECT id, nick, password, active FROM chat_user";
ResultSet rs = state.executeQuery(sql);
//遍历结果集
while (rs.next()) {
id = rs.getString("id");
nick = rs.getString("nick");
System.out.println(id + ", " + nick);
}
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
再观察数据库,就可以发现插入成功了。
这就是 Java 数据库最简单连接和使用方式。