一:项目功能
该项目应该具有以下功能:
1.查询所有员工
2.查询指定编号的员工
3.添加员工信息
4.修改员工信息
5.删除员工信息
6.退出功能
二:技能的使用
1.使用JDBC访问数据库
2.分层开发:
前台:调用后台,并输出结果
后台:使用JDBC数据库连接技术访问数据并返回结果
3.提取工具类DBUtil,复用代码
4.使用Properties类读取属性文件(作用:提高代码的复用性,便于使用不同数据库时必要信息的修改)
三:项目框架
树状结构:
模块名:---project1
包名:---com.jiayifeng
包名:---dao
包名:---impl
类名:---EmployeeDaoimpl
接口名:---EmployeeDao
包名:---pojo(简单的 Java 对象(Plain Ordinary Java Object))
类名:---Employee
包名:-util
类名:---DBUtil
包名:-test
类名:---TestA
3.1:在MySQL中创建项目所需数据库及其数据
①创建数据库,数据库名:xiaojia
②创建数据库相应的表,表名:emp(全称:Employee)
3.2:创建JDBC数据库连接(将数据库中数据与java代码连接起来)
JDBC介绍与使用:http://t.csdnimg.cn/z0Zd9
package com.jiayifeng.util;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
/**
* author 爱编程的小贾
* create 2023-10-25 19:22
*/
public class DBUtil {
// private static String driver;
// private static String url;
// private static String uname;
// private static String pwd;
//
// static {
1.获得Properties类对象
// Properties properties = new Properties();
2.解析jdbc.properties属性文件(读取jdbc.properties配置文件到输入流中)
// InputStream inputStream = DBUtil.class.getResourceAsStream("/jdbc.properties");
//
// try {
把读取的属性文件中的数据记载到Properties对象中
// properties.load(inputStream);
获取properties文件中的属性值
// driver = properties.getProperty("driver");
// url = properties.getProperty("url");
// uname = properties.getProperty("username");
// pwd = properties.getProperty("password");
//
// } catch (IOException e) {
// throw new RuntimeException(e);
// }
// }
// 获得conn对象
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.
getConnection("jdbc:mysql://127.0.0.1:3306/xiaojia",
"root",
"ASUS010519");
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
} catch (SQLException e) {
throw new RuntimeException(e);
}
return conn;
}
// 关闭操作封装
public static void closeAll(Connection conn, PreparedStatement pstmt, ResultSet rs){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if(pstmt != null){
try {
pstmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}
3.3: