程序框架源于老师
学习笔记
1、java书写规范
右键文件Source -> Format 可自动调节
java的方法注释
2、Eclipse 中连接 mysql 数据库
新建 libs 文件,导入mysql-connector-java-8.0.23.jar(官网可免费下载),右键选择Build Path ->Add to Build Path,系统自动生成Referenced Libraries文件
在 module-info.java 中加上 require java.sql;
其中 cn.net.nit.ems 是包名
测试mysql是否连接成功
package cn.net.nit.ems;
import java.sql.*;
/**
* 测试数据库JDBC操作
* @author Administrator
*/
public class MySQLDemo {
public static void main(String[] args) throws Exception {
// 指定访问数据库的驱动程序的名称
String driver = "com.mysql.jdbc.Driver";
// 需要访问的数据库URL
String url = "jdbc:mysql://localhost:3306/course";
// 数据库访问的用户名
String db_user = "root";
// 数据库访问的密码
String db_pwd = "root";
// 要执行的查询SQL语句
String querySql = "SELECT * FROM UserInfo";
// 要执行的更新SQL语句
String updateSql = "UPDATE UserInfo SET Cell='88229530' WHERE ID=?";
// 声明一个Connection对象,用于和数据库建立连接
Connection conn = null;
// 声明一个Statement对象,用于对数据库执行SQL语句
Statement stmt = null;
// 预处理语句
PreparedStatement ps = null;
try {
// 装载驱动程序
Class.forName(driver);
// 获取和数据库的连接
conn = DriverManager.getConnection(url, db_user, db_pwd);
// 禁止自动递交,设置回滚点
conn.setAutoCommit(false);
// 创建一个Statement对象,用于对数据库执行SQL语句
stmt = conn.createStatement();
// 执行查询操作,得到的结果存放在ResultSet对象
ResultSet rs = stmt.executeQuery(querySql);
// 打印出查询到的所有数据
System.out.println("ID\tLoginName\tUserName\tUserPwd");
System.out.println("-------------------------------------------------");
while (rs.next()) {
int id = rs.getInt("ID");
String loginName = rs.getString("LoginName");
String userName = rs.getString("UserName");
String passWord = rs.getString("UserPwd");
System.out.println(id+"\t"+loginName+"\t\t"+userName+"\t\t"+passWord);
}
// 预编译SQL语句
ps = conn.prepareStatement(updateSql);
// 设置参数
ps.setInt(1,6);
// 更新数据库的记录,返回更新的记录数
int count = ps.executeUpdate();
System.out.println("更新记录:"+count+"条");
// 事务递交
conn.commit();
} catch (Exception e) {
System.out.println("Error:"+e);
try { // 操作不成功则回滚
conn.rollback();
} catch (Exception ee) {}
} finally {
try {
if (conn!=null) conn.close();
if (stmt!=null) stmt.close();
} catch (SQLException e) {}
}
}
}
3、项目源代码
数据库名:course
用户表:UserInfo
角色表:RoleMember
总览
运行在 EMSApp.java 文件
DBHelper.java
package cn.net.nit.ems;
import java.sql.*;
public class DBHelper {
private static String driver = "com.mysql.cj.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/course";
private static String user = "root";
private static String pwd = "root";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, pwd);
conn.setAutoCommit(false);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void close(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {}
conn = null;
}
}
public static void close(Statement stmt, ResultSet rs) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {}
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {}
}
}
}
EMSApp.java
package cn.net.nit.ems;
import java.util.Scanner;
import java.util.UUID;
/**
* 教学管理系统主类
*
* @author
*
*/
public class EMSApp {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("*******************************************");
System.out.println("*** ***");
System.out.println("*** 教务管理系统 v0.1 ***");
System.out.println("*** ***");
System.out.println("*******************************************");
String loginName, password;
System.out.println("[1] 登入");
System.out.println("[2] 注册");
int choice;
choice = scanner.nextInt();
System.out.println("用户名:");
loginName = scanner.next();
System.out.println("密码:");
password = scanner.next();