JDBC:
全称Java Database Connectivity即Java数据库连接,是一种可以执行SQL语句的API,只有接口,没有提供实现类,实现类由不同数据库厂商提供,实现通过JDBC操作不同数据库(面向接口编程)
![](https://img.haomeiwen.com/i5750276/21118d80baa3c6b4.png)
数据库基础:https://www.jianshu.com/p/c51e27b79fb4
SQL语句基础:
-
查询语句:select
-
DML(Data Manipulation Language -> 数据操作语言):insert、update、delete
-
DDL(Data Definition Language -> 数据定义语言):create、alter、drop、truncate
-
DCL(Data Control Language -> 数据控制语言):grant、revoke
-
事务控制语句:commit、rollback、savepoint
前三个由程序员操作,后两个由数据库管理员(DBA)完成
JDBC常用接口和类:
DriverManager:管理JDBC驱动的服务类,包含getConnection()方法
Connection:代表数据库连接对象,每个Connection代表一个物理连接会话,包含creatStatment()方法
Statement:用于执行SQL语句的工具接口,包含有以下方法
-
executeQuery(String sql):执行查询语句,返回结果对应的ResultSet对象
-
executeUpdate(String sql):执行DML语句,返回受影响的行数;执行DDL语句,返回0
-
execute(String sql):执行任何SQL语句
PreparedStatement:预编译的Statement对象,允许数据库预编译SQL语句
ResultSet:结果集对象,包含访问查询结果的方法
JDBC编程步骤:以Mysql为例
-
加载数据库驱动:
Class.forName("com.mysql.jdbc.Driver");
-
获取数据库连接,创建Connection对象:
Connection conn = DriverManager.getConnection(String url, String user, String pass);
-
通过Connection对象创建Statement对象
Statement stmt = conn.createStatement();
-
使用Statement执行SQL语句
stmt.execute(String sql); stmt.executeUpdate(String sql); stmt.executeQuery(String sql);
-
操作结果集ResultSet
-
回收数据库资源
例子1:executeQuery()执行查询语句 -> select
![](https://img.haomeiwen.com/i5750276/b949b2e9e50f70c7.png)
例子2:executeUpdate()执行DDL语句 -> create
![](https://img.haomeiwen.com/i5750276/e7e4139091120323.png)
这里采用将数据库连接信息写在mysql.ini的配置文件中,更加方便,使用时IDEA应导入Ini4Idea插件,通过java.util.Properties类读取该配置文件获得连接信息(参考图中的initParam()方法)
例子3:executeUpdate()执行DML语句 -> insert
![](https://img.haomeiwen.com/i5750276/fbf301cd8223848c.png)
网友评论