中宁建设局网站,中国十大奇迹工程,站长之家seo综合,六安网站建设找哪家1.什么是JDBC#xff1f;
Java数据库连接#xff0c;#xff08;Java Database Connectivity#xff0c;简称JDBC#xff09;是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口#xff0c;提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsyste…1.什么是JDBC
Java数据库连接Java Database Connectivity简称JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
简而言之JDBC就是JDK提供的关于数据库操作的一套接口规范不同数据库厂商来负责实现这个接口完成指定的操作。
用程序和数据建立连接分为三步骤 1.连接数据库 2.执行SQL语句 3.把查询到的结果集转换成JAVA对象 2.对于MySQL的JDBC编程的前期准备工作
知识拓展 JAR文件Java归档英语Java Archive是一种软件包文件格式通常用于聚合大量的Java类文件、相关的元数据和资源文本、图片等文件到一个文件以便开发Java平台应用软件或库。 maven依赖是指项目对jar包的依赖。如果我们想要在工程中引入某个jar 包只需要在pom.xml 中引入其jar 包的坐标即可。Maven 通过groupId、artifactId与version三个向量来定位Maven 仓库其jar 包所在的位置并把对应的jar 包引入到工程中来。 引入MySQL依赖
打开下面这个网址
https://mvnrepository.com/?__cf_chl_rt_tkv38fZ3ofJLemjUxGfqXh71bR1gGKq7XXtFRXpsNsTSU-1682151712-0-gaNycGzNCuU
搜素MySQL 选择框选的这个选项。打开之后有很多版本这里选择的是5.1.49版本。 点击5.1.49版本。就找到了这个依赖复制到pom.xml中 添加完后手动点一下重新加载pom 工程栏里出现如下图内容时表示导入成功。 3.建立连接
建立连接的五大步骤 1加载注册数据库 2.连接数据库 3 执行SQL语句 4 处理结果集 5 关闭数据库释放资源 代码实现连接
1.连接数据库 //先定义一个数据源对象private static DataSource dataSourcenull;//连接数据库的用户名private static final String USERroot;//数据库的密码private static final String PASSWORD111111;//数据库连接字符串private static final String URLjdbc:mysql://127.0.0.1:3306/example?characterEncodingutf-8useSSLfalse; 数据库连接字符串的释义如上图所示。
2.执行SQL语句
示例根据学号查询学生信息 // 1. 通过数据源获取一个数据库连接connection dataSource.getConnection();// 接收用户输入的值System.out.println(请输入学号-);Scanner scanner new Scanner(System.in);String sn scanner.next();// 2. 定义SQL语句//String sql select * from student where sn sn ;String sql select * from student where sn ?;System.out.println(sql-- sql);// 3. 获取statement对象//statement connection.createStatement();// 获取一个预处理对象statement connection.prepareStatement(sql);// 处理占位符的值statement.setString(1, sn);// 4. 执行SQLresultSet statement.executeQuery();
3.把查询到的结果转换成Java对象 if (resultSet.next()) {// 创建表示结果的JAVA对象Student student new Student();// 依次读取结果集中的数据并赋值给JAVA对象student.setId(resultSet.getInt(1));student.setSn(resultSet.getString(2));student.setName(resultSet.getString(3));student.setMail(resultSet.getString(4));student.setClassesId(resultSet.getInt(5));// 打印结果System.out.println(student);}
4.释放资源 // 依次关闭资源if (resultSet ! null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}}if (statement ! null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();}}if (connection ! null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}
完整代码
package com.bitejiuyeke;import com.bitejiuyeke.model.Student;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;
import java.sql.*;
import java.util.Scanner;/*** Author 比特就业课* Date 2023-04-22*/
public class Demo01_Connection {// 先定义一个数据源对象private static DataSource dataSource null;// 数据库的用户名private static final String USER root;// 数据库的密码private static final String PASSWORD 111111;// 数据库连接字符串private static final String URL jdbc:mysql://127.0.0.1:3306/example?characterEncodingutf-8useSSLfalse;public static void main(String[] args) {// 1. 初化始数据源MysqlDataSource myDataSource new MysqlDataSource();// 2. 设置连接的参数myDataSource.setURL(URL);myDataSource.setUser(USER);myDataSource.setPassword(PASSWORD);// 3. 把构建好的Mysql数据源赋值给JDBC中的datasourcedataSource myDataSource;Connection connection null;// 预处理对象PreparedStatement statement null;ResultSet resultSet null;try {// 1. 通过数据源获取一个数据库连接connection dataSource.getConnection();// 接收用户输入的值System.out.println(请输入学号-);Scanner scanner new Scanner(System.in);String sn scanner.next();// 2. 定义SQL语句//String sql select * from student where sn sn ;String sql select * from student where sn ?;System.out.println(sql-- sql);// 3. 获取statement对象//statement connection.createStatement();// 获取一个预处理对象statement connection.prepareStatement(sql);// 处理占位符的值statement.setString(1, sn);// 4. 执行SQLresultSet statement.executeQuery();// 5. 解析结果集,resultSet.next()表示结果集中是否有记录if (resultSet.next()) {// 创建表示结果的JAVA对象Student student new Student();// 依次读取结果集中的数据并赋值给JAVA对象student.setId(resultSet.getInt(1));student.setSn(resultSet.getString(2));student.setName(resultSet.getString(3));student.setMail(resultSet.getString(4));student.setClassesId(resultSet.getInt(5));// 打印结果System.out.println(student);}} catch (SQLException e) {e.printStackTrace();} finally {// 依次关闭资源if (resultSet ! null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}}if (statement ! null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();}}if (connection ! null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();}}}}
}