栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java第十三天笔记01——JDBC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java第十三天笔记01——JDBC

目录

1.JDBC概念

2.JDBC核心接口与类

3. 创建JDBC应用程序的步骤

4.使用JDBC执行insert、delte、update和select操作


1.JDBC概念

JDBC(Java Database Connectivity,简称JDBC)一般指Java数据库连接,Java数据库连接

2.JDBC核心接口与类

(1)类

DriverManager:负责管理JDBC驱动程序。使用JDBC驱动程序之前,必须先将驱动程序加载并注册后才可以使用,同时提供方法来建立与数据库的连接。 SQLException:有关数据库操作的异常

(2)接口

Connection:特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果。PreparedStatement:表示预编译的 SQL 语句的对象。Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。ResultSet :表示数据库结果集的数据表,通常通过执行查询数据库的语句生成 。CallableStatement :用于执行 SQL 存储过程的接口 。 

3. 创建JDBC应用程序的步骤
    载入JDBC驱动程序建立连接创建Statement对象执行查询或更新结果处理关闭连接

例子:

①首先导入所需的jar包

 

 ②具体代码

Ⅰ.存在表user

CREATE TABLE `user` (
  `id` int NOT NULL,
  `name` varchar(20) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;
INSERT INTO `user` (`id`, `name`) VALUES (1, 'tom');
INSERT INTO `user` (`id`, `name`) VALUES (2, 'lynn');
INSERT INTO `user` (`id`, `name`) VALUES (3, 'amy');
INSERT INTO `user` (`id`, `name`) VALUES (4, 'john');
INSERT INTO `user` (`id`, `name`) VALUES (5, 'jesson');

Ⅱ.Java代码: 

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCTest {
	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		try {
			// 1.载入JDBC驱动程序
			Class.forName("com.mysql.jdbc.Driver");

			// 2.建立连接
			String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
			String user = "root";
			String password = "123456";
			conn = DriverManager.getConnection(url, user, password);

			// 3.创建Statement对象
			pstmt = conn.prepareStatement("select * from user");

			// 4.执行查询或更新
			rs = pstmt.executeQuery();

			// 5.结果处理
			while (rs.next()) {
				System.out.println(rs.getInt("id") + "t" + rs.getString("name"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				// 6.关闭连接,先关闭结果集ResultSet,然后关闭与处理对象PreparedStatement,最后关闭执行对象Statement
				if (rs != null) {
					rs.close();
				}
				if (pstmt != null) {
					pstmt.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

Ⅲ.执行结果

1    tom
2    lynn
3    amy
4    john
5    jesson

③注意

要确保数据库存在并且已经打开 

4.使用JDBC执行insert、delte、update和select操作

对emp表进行增删改查

CREATE TABLE emp (
	id INT NOT NULL,
	name VARCHAr (15) NOT NULL,
	hiredate date NOT NULL,
	sal DECIMAL (10, 2) NOT NULL,
	PRIMARY KEY (id) 
);
insert into emp(id, name, hiredate, sal) values
(1, 'jesson', '1988-12-02', 4521.5),
(2, 'amy', '2012-12-12', 3589.5),
(3, 'mary', '2022-02-10', 2545.2),
(4, 'ken', '2020-02-10', 3526.2),
(5, 'henry', '2012-02-10', 4553.2);

(1)insert

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {
	public static void main(String[] args) {
		Connection conn = null;
		Statement stmt = null;
//		ResultSet rs = null;
		try {
			// 1.载入JDBC驱动程序
			Class.forName("com.mysql.jdbc.Driver");

			// 2.建立连接
			String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
			String user = "root";
			String password = "123456";
			conn = DriverManager.getConnection(url, user, password);

			// 3.创建Statement对象
			stmt = conn.createStatement();

			// 4.执行更新
			int num = stmt.executeUpdate("insert into emp(id, name, hiredate, sal) values(6, 'tom', '2022-01-22', 4999.5);");

			// 5.结果处理
			System.out.println((num > 0) ? "数据添加成功!": "数据添加失败!");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				// 6.关闭连接,先关闭结果集ResultSet,然后关闭与处理对象PreparedStatement,最后关闭执行对象Statement
//				if (rs != null) {
//					rs.close();
//				}
				if (stmt != null) {
					stmt.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

(2)delete

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {
	public static void main(String[] args) {
		Connection conn = null;
		Statement stmt = null;
//		ResultSet rs = null;
		try {
			// 1.载入JDBC驱动程序
			Class.forName("com.mysql.jdbc.Driver");

			// 2.建立连接
			String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
			String user = "root";
			String password = "123456";
			conn = DriverManager.getConnection(url, user, password);

			// 3.创建Statement对象
			stmt = conn.createStatement();

			// 4.执行更新
			int num = stmt.executeUpdate("delete from emp where id = 6;");

			// 5.结果处理
			System.out.println((num > 0) ? "数据删除成功!": "数据删除失败!");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				// 6.关闭连接,先关闭结果集ResultSet,然后关闭与处理对象PreparedStatement,最后关闭执行对象Statement
//				if (rs != null) {
//					rs.close();
//				}
				if (stmt != null) {
					stmt.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

(3)update

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {
	public static void main(String[] args) {
		Connection conn = null;
		Statement stmt = null;
//		ResultSet rs = null;
		try {
			// 1.载入JDBC驱动程序
			Class.forName("com.mysql.jdbc.Driver");

			// 2.建立连接
			String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
			String user = "root";
			String password = "123456";
			conn = DriverManager.getConnection(url, user, password);

			// 3.创建Statement对象
			stmt = conn.createStatement();

			// 4.执行更新
			int num = stmt.executeUpdate("update emp set sal = 9999.9 where id = 5;");

			// 5.结果处理
			System.out.println((num > 0) ? "数据更新成功!": "数据更新失败!");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				// 6.关闭连接,先关闭结果集ResultSet,然后关闭与处理对象PreparedStatement,最后关闭执行对象Statement
//				if (rs != null) {
//					rs.close();
//				}
				if (stmt != null) {
					stmt.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

(4)select

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCTest {
	public static void main(String[] args) {
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			// 1.载入JDBC驱动程序
			Class.forName("com.mysql.jdbc.Driver");

			// 2.建立连接
			String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
			String user = "root";
			String password = "123456";
			conn = DriverManager.getConnection(url, user, password);

			// 3.创建Statement对象
			stmt = conn.createStatement();

			// 4.执行查询
			rs = stmt.executeQuery("select name from emp;");

			// 5.结果处理
			while(rs.next()){
				System.out.println(rs.getString("name"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				// 6.关闭连接,先关闭结果集ResultSet,然后关闭与处理对象PreparedStatement,最后关闭执行对象Statement
				if (rs != null) {
					rs.close();
				}
				if (stmt != null) {
					stmt.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711431.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号