一:项目功能
该项目应该具有以下功能:
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:



















