Java实训(2)--学生信息管理系统,创建实体类连解数据库

任务描述

创建项目,导入数据库驱动程序,帮助文档,图片创建实体类College,Status,Student,User对应学校表,状态表,学生表,用户表。创建实体类ConnectionManager连接数据库。创建DisplayAllUsers,FindUserByld测试数据库操作

创建项目

在这里插入图片描述
help文件夹存放帮助文档,images文件夹存放图片,lib文件夹存放数据库驱动程序

创建类

在这里插入图片描述
college类:
在这里插入图片描述
status类:
在这里插入图片描述

student类:
在这里插入图片描述

user类:
在这里插入图片描述

创建这四个类可以使用快捷方法alt+inster选择方法getter setter, toString()快速生成代码,在这里只将类属性列出。

创建类ConnectionManager连接数据库:

在这里插入图片描述

package net.yw.student.dbutil;

import javax.swing.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class ConnectionManager {
    private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序
    private static final String URL = "jdbc:mysql://localhost:3306/student"; // 数据库统一资源标识符
    private static final String USER = "root"; // 数据库用户
    private static final String PASSWORD = "123456"; // 数据库密码



private ConnectionManager(){
}

public static Connection getConnection() {
    // 定义数据库连接
    Connection conn = null;
    try {
        // 安装数据库驱动程序
        Class.forName(DRIVER);
        // 获取数据库连接
        conn = DriverManager.getConnection(URL, USER, PASSWORD);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return conn;
}

public static void closeConnection(Connection conn) {
    // 判断数据库连接是否非空
    if (conn != null) {
        try {
            // 判断连接是否未关闭
            if (!conn.isClosed()) {
                // 关闭数据库连接
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
public static void main(String[] args) {
    // 获取数据库连接
    Connection conn = getConnection();
    // 判断数据库连接是否成功
    if (conn != null) {
        JOptionPane.showMessageDialog(null, "恭喜,数据库连接成功!");
    } else {
        JOptionPane.showMessageDialog(null, "遗憾,数据库连接失败!");
    }
    // 关闭数据库连接
    closeConnection(conn);
}
}

在这里需要注意数据库四个属性不要写错根据自己电脑上的数据库密码,用户名已经自己导入的数据库驱动程序来写

创建类DisplayAllUsers,FindUserByld测试:

在这里插入图片描述
DisplayAllUsers类:
查询出用户表中的所有数据并在控制台输出

package net.yw.student.test;
import net.yw.student.bean.User;
import net.yw.student.dbutil.ConnectionManager;

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

public class DisplayAllUsers {
    public static void main(String[] args) {
        Connection conn = ConnectionManager.getConnection();

    String strSQL = "select * from t_user";
    try {			//这里需要加上异常处理否则会报错,同下
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(strSQL);

        while (rs.next()) {   
            User user = new User();

            user.setId(rs.getInt("id"));
            user.setUsername(rs.getString("username"));
            user.setPassword(rs.getString("password"));
            user.setTelephone(rs.getString("telephone"));
            user.setRegisterTime(rs.getTimestamp("register_time"));
            System.out.println(user);
        }
    }catch (SQLException throwables) {
        throwables.printStackTrace();
    } finally {
        ConnectionManager.closeConnection(conn);
    }
}
}

FindUserByld类:
根据id查找用户

package net.yw.student.test;

import net.yw.student.dbutil.ConnectionManager;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class FindUserByld {
    public static void main(String[] args) {
        int id;
        Scanner sc = new Scanner(System.in);

    System.out.print("请输入待查用户编号:");
    id=sc.nextInt();
    Connection conn = ConnectionManager.getConnection();

    try {
        String strSQL = "select * from t_user where id = ?";

        PreparedStatement psmt = conn.prepareStatement(strSQL);
        psmt.setInt(1, id);

        ResultSet rs = psmt.executeQuery();
        if(rs.next()){
            System.out.println("编号:"+rs.getInt("id"));
            System.out.println("用户名:"+rs.getString("username"));
            System.out.println("密码:"+rs.getString("password"));
            System.out.println("电话:"+rs.getString("telephone"));
            System.out.println("注册时间:"+rs.getTimestamp("register_time"));
        }else {
            System.out.println("查询用户不存在!");
        }
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        ConnectionManager.closeConnection(conn);
    }
}
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值