教材学习内容总结
第十一章 JDBC数据库操作
- MySQL数据库管理系统
下载安装MySQL
若下载的是压缩包形式(书上提供的),需要配置环境变量;若是msi文件,直接安装即可 - MySQL客户端管理工具
下载并安装老师推荐使用的xampp
输入测试连接状态代码ConnectionDemo.java
import static java.lang.System.out;
import java.sql.*;
public class ConnectionDemo {
public static void main(String[] args)
throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String jdbcUrl = "jdbc:mysql://localhost:3306/demo";
String user = "root";
String passwd = "";
try(Connection conn =
DriverManager.getConnection(jdbcUrl, user, passwd)) {
out.printf("已%s数据库连接%n",
conn.isClosed() ? "关闭" : "打开");
}
}
}
- JDBC-MySQL数据库驱动
下载并安装JDBC-MySQL数据库驱动——mysql-connector-java-8.0.16
在IDEA中添加jar包 - 查询操作
得到SQL查询语句对象
try{ Statement sql=con.createStatement();
}
catch(SQLException e ){}
- 处理查询结果
SQL查询语句对数据库的查询操作将返回一个ResultSet对象,ResultSet对象是按“列”(字段)组织的数据行构成。ResultSet rs = sql.executeQuery("SELECT * FROM students")
;ResultSet
对象一次只能看到一个数据行,使用next()
方法移到下一个数据行,获得一行数据后,ResultSet
对象可以使用getXxx
方法获得字段值(列值),将位置索引(第一列使用1,第二列使用2等)或列名传递给getXxx
方法的参数即可。 - 关闭连接
应用程序在使用ResultSet对象中的数据时,就必须始终保持和数据库的连接,直到应用程序将ResultSet对象中的数据查看完毕 - 更新、添加与删除操作
更新
update 表 set 字段 = 新值 where
添加
insert into 表(字段列表) values (对应的具体的记录)
insert into 表 values (对应的具体的记录)
删除
delete from 表名 where - 使用预处理语句
如果应用程序能针对连接的数据库,事先就将SQL语句解释为数据库底层的内部命令,然后直接让数据库去执行这个命令,显然不仅减轻了数据库的负担,而且也提高了访问数据库的速度。Connection
和某个数据库建立了连接对象con
,那么con
就可以调用prepareStatement(String sql)
方法对参数sql
指定的SQL
语句进行预编译处理,生成该数据库底层的内部命令,并将该命令封装在PreparedStatement
对象中 - 通用查询
用户将数据库名、SQL语句传递给该类对象,那么该对象就用一个二维数组返回查询的记录。metaData
调用getColumnName(int i)
方法就可以返回结果集rs
中的第i列的名字:String columnName = metaData.getColumnName(i);
- 事务:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。
JDBC事务处理步骤
用setAutoCommit(booean b)
方法关闭自动提交模式
用commit()
方法处理事务
用rollback()
方法处理事务失败用rollback()
方法处理事务失败代码托管