中软国际暑期实习day01(2020.08.10)-JDBC
今天是暑期实习的第一天,主要是配置一些安装环境以及复习有关JDBC的知识。
- 开发工具:IDEA
- 数据库:MySql
- 数据库工具:Navicat
文章目录
- 1.JDBC概述
- 2.JDBC的使用
- (1)环境准备
- (2)建立数据库
- (3)建立JDBC配置文件`jdbc.properties`
- (4)建立JDBC工具类`JDBCUtil`
- (5)建立一个测试类进行测试
- (6)执行该测试类
- 3.JDBC总结
1.JDBC概述
JDBC(Java Database Connectivity)
,Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。有了JDBC,用Java操作数据库就更方便快捷了。
2.JDBC的使用 (1)环境准备 导入相应的mysql驱动。
文章图片
(2)建立数据库
/*
Navicat Premium Data Transfer Source Server: localhost_3306
Source Server Type: MySQL
Source Server Version : 50728
Source Host: localhost:3306
Source Schema: test Target Server Type: MySQL
Target Server Version : 50728
File Encoding: 65001 Date: 14/08/2020 20:33:00
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`(
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, 'xiaoming', '123');
INSERT INTO `user` VALUES (2, 'xiaohong', '123');
INSERT INTO `user` VALUES (3, 'xiaogang', '123');
SET FOREIGN_KEY_CHECKS = 1;
(3)建立JDBC配置文件
jdbc.properties
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/test?useSSL=false
user = root
password = 123456
(4)建立JDBC工具类
JDBCUtil
由于在实际项目里面,会多次访问数据库,因此将相关数据库的操作抽象成一个类,以方便开发。import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
/**
* @className: JDBCUtil
* @description:
* @author:
* @date: 10/08/2020 14:00
*/
public class JDBCUtil {
private static String url;
private static String user;
private static String password;
static {
try{// 加载配置文件
Properties properties=new Properties();
ClassLoader classLoader=JDBCUtil.class.getClassLoader();
URL res=classLoader.getResource("jdbc.properties");
assert res != null;
String path=res.getPath();
properties.load(new FileReader(path));
// 进行数据库配置
String driver = properties.getProperty("driver");
url=properties.getProperty("url");
user=properties.getProperty("user");
password=properties.getProperty("password");
//注册驱动
Class.forName(driver);
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}// 得到数据库连接
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,user,password);
}// 释放数据库资源
public static void close(Statement statement,Connection connection) throws SQLException {
if(statement!=null){
statement.close();
}if(connection!=null){
connection.close();
}
}// 释放数据库资源
public static void close(ResultSet resultSet, Statement statement, Connection connection) throws SQLException {
if(resultSet!=null){
resultSet.close();
}close(statement,connection);
}
}
(5)建立一个测试类进行测试 JdbcTest.java
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
/**
* @className: JdbcTest
* @description:
* @author:
* @date: 10/08/2020 13:59
*/
public class JdbcTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名");
String username = scanner.nextLine();
System.out.println("请输入密码");
String password = scanner.nextLine();
try {
boolean deleteFlag = new JdbcTest().delete(username, password);
if (deleteFlag) {
System.out.println("删除成功");
} else {
System.out.println("删除失败");
}} catch (SQLException e) {
e.printStackTrace();
}}/**
* 删除
*
* @param username
* @param password
* @return
* @throws SQLException
*/
public boolean delete(String username, String password) throws SQLException {
if (username == null || password == null) {
return false;
}Connection connection = null;
Statement statement = null;
try {
connection = JDBCUtil.getConnection();
String sql = "delete from test.user where username = '" + username + "'and password = '" + password + "'";
statement = connection.createStatement();
int count = statement.executeUpdate(sql);
return count > 0;
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.close(statement, connection);
}return false;
}
}
(6)执行该测试类 输入正确的用户名和密码便会删除该用户,否则便不会,由于比较简单,这里不展示最终结果。
3.JDBC总结
- JDBC是Java操作数据库的一套接口(标准)
- 使用JDBC前需导入相应的驱动
- 配置JDBC
- driver:驱动
- url:数据库地址
- username:数据库用户
- password:相应数据库用户对应密码
- 使用JDBC
- 导入读取配置文件
- 进行数据库配置
- 注册数据库驱动
- 获取数据库连接
- 编写相应的sql语句
- 获取执行sql语句的对象:Statement
- 执行sql语句
- executeUpdate:执行增删改操作
- executeQuery:执行查操作
- 处理结果
- 释放资源
文章图片
推荐阅读
- 首届中国苏州江南文化艺术国际旅游节将于8月24日启幕
- ACI注册国际心理咨询师简介和可靠性分析
- 古镇游玩记~南长街
- 暑期综合症
- 张晧奕(7.8国际黄金,原油丨日内进场操作策略建议,黄金参考策略)
- 知名偶像艺人吴大可、刘珊出席2019A/W中国国际时装周
- 暑期10
- 泽奥溶养乐亮相大健康博览会,引来国际友人点赞
- 今天是国际不打小孩儿日,可是生活中对孩子的伤害又何止是“打”
- 中银证券·国际视野