Java基础-初识JDBC
目录1. JDBC简介
2. JDBC项目
3. JDBC的导入
4. JDBC的使用
内容
JDBC简介
[*]什么是JDBC
JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。
2.什么是mysql-connector-java
mysql-connector-java 是MySQL的JDBC驱动包,用JDBC连接MySQL数据库时必须使用该jar包。
JDBC项目
[*]打开IDEA新建项目,填写项目名,选择项目路径
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014164846623-266600006.png
[*]按照Java代码书写规范创建一个包并创建一个类
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014165508353-894077695.png
JDBC的导入
[*]下载JDBC(MySQL版)
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014165726759-2047580481.png
[*]跳转至版本选择页面
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014170542797-584926896.png
[*]选择版本下载
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014170840334-134060383.png
[*]解压mysql-connector-java-8.0.25.zip,生成mysql-connector-java-8.0.25
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014171054089-733365916.png
[*]在JDBC项目所在目录下创建lib文件夹
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014171247930-911590123.png
[*]打开mysql-connector-java-8.0.25目录,复制mysql-connector-java-8.0.25.jar
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014171437475-119081317.png
[*]把mysql-connector-java-8.0.25.jar粘贴到lib目录下
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014171630902-968995248.png
[*]打开项目,点击File->Project Structure
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014171826103-2119821409.png
[*]点击Libraries -> + ->Java
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014171928767-916442873.png
[*]选择lib目录下的mysql-connector-java-8.0.25.jar
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014172059966-1518711977.png
[*]点击ok
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014172139427-1646037847.png
[*]点击ok
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014172215475-451885032.png
[*]查看mysql-connector-java-8.0.25.jar是否导入成功
https://img2023.cnblogs.com/blog/3279853/202310/3279853-20231014172305910-1752582598.png
JDBC的使用
[*]必须提前安装MySQL并且MySQL可用
[*]加载MySQL驱动程序
package com.example.aji;
public class Main {
public static void main(String[] args) {
try {
//加载MySQL驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
}catch (Exception e){
e.printStackTrace();
}
//打印出Hello world!表名驱动程序加载成功
System.out.println("Hello world!");
}
}
[*]DriverManager类
管理一组JDBC驱动程序的基本服务。一些常用方法:
[*]getConnection(String url, String user, String password)
尝试建立与给定数据库URL的连接。
package com.example.aji;
import java.sql.DriverManager;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
DriverManager.getConnection(url,user,password);
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]Connection类
Connection与特定数据库的连接(会话)。 执行SQL语句并在连接的上下文中返回结果。Connection对象的数据库能够提供描述其表,其支持的SQL语法,其存储过程,此连接的功能等的信息。 一些常用方法:
[*]close()
立即释放此 Connection对象的数据库和JDBC资源,而不是等待它们自动释放。
[*]createStatement()
创建一个 Statement对象,用于将SQL语句发送到数据库。
package com.example.aji;
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
Connection connection = DriverManager.getConnection(url,user,password);
connection.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]更多
[*]Statement类
用于执行静态SQL语句并返回其生成的结果的对象。一些常用方法:
[*]close()
立即释放此 Statement对象的数据库和JDBC资源,而不是等待它自动关闭时发生。
[*]executeUpdate(String sql)
执行给定的SQL语句,这可能是 INSERT , UPDATE ,或 DELETE语句,或者不返回任何内容,如SQL DDL语句的SQL语句。
package com.example.aji;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String updateSql="CREATE TABLE `t_person` (\n" +
"`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',\n" +
"`name` varchar(30) NOT NULL COMMENT '姓名',\n" +
"`birthdate` datetime NOT NULL COMMENT '出生日期',\n" +
"PRIMARY KEY (`id`)\n" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
int result = statement.executeUpdate(updateSql);
System.out.println(result);
String insertSql="insert into t_person(name,birthdate) values('aji',now()),('aji',now())";
result = statement.executeUpdate(insertSql);
System.out.println(result);
statement.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]executeQuery(String sql)
执行给定的SQL语句,该语句返回单个 ResultSet对象。
package com.example.aji;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String querySql="select * from t_person";
ResultSet resultSet = statement.executeQuery(querySql);
//打印查询结果
while (resultSet.next()) {
System.out.print(resultSet.getInt("id"));
System.out.print(resultSet.getString("name"));
System.out.println(resultSet.getDate("birthdate"));
}
resultSet.close();
statement.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]execute(String sql)
执行给定的SQL语句并返回boolean值
package com.example.aji;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String querySql="select * from t_person";
ResultSet resultSet = statement.executeQuery(querySql);
boolean execute = statement.execute(querySql);
//打印查询结果
System.out.println(execute);
resultSet.close();
statement.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]更多
[*]ResultSet类
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。一些常用方法:
[*]close()
立即释放此 Statement对象的数据库和JDBC资源,而不是等待它自动关闭时发生。
[*]next()
将光标从当前位置向前移动一行。
package com.example.aji;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String querySql="select * from t_person";
ResultSet resultSet = statement.executeQuery(querySql);
boolean execute = statement.execute(querySql);
//打印查询结果
System.out.println(execute);
resultSet.close();
statement.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]getInt(String columnLabel)
以Java编程语言中 int此 ResultSet对象的当前行中指定列的值。
package com.example.aji;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//mysql数据库相关信息
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8";
String user="root";
String password="123456789";
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String querySql="select * from t_person";
ResultSet resultSet = statement.executeQuery(querySql);
boolean execute = statement.execute(querySql);
//打印查询结果
System.out.println(execute);
resultSet.close();
statement.close();
connection.close();
}catch (Exception e){
e.printStackTrace();
}
System.out.println("Hello world!");
}
}
[*]更多
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]