1 站立式会议
1.1会议照片
1.2 会议内容
昨天已完成的工作:
已明确分配的任务,并进行了环境配置,特别是mysql的配置.
今天计划完成的工作
项目模块 | 需要实现的功能 | 负责人 | 预计用时 |
---|---|---|---|
初始化模块 | 环境搭建 | 王伊若 | 4h |
登录模块 | 用户注册、登录 | 黄锐 | 7h |
登录模块 | 数据库连接 | 江佳哲 | 4h |
主界面模块 | 主界面设计 | 叶尔森 | 5h |
工作中遇到的困难:
1.对于程序如何自动连接数据库不是非常清楚,就查了很多资料,也出现了很多问题,比如连接失败等等,好在最终还是解决了。
2.通过配置文件db.properties连接数据库时,文件路径有误,导致无法连接,最后修改文件路径,顺利连接数据库。
2.项目燃尽图
3.模块的最新(运行)截图:
用户注册与登录界面:
此时尚未连接上数据库,所以点登录或者注册并不会跳转。
编写数据库连接接口:
package tallybook_system.dao;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
/**
* 连接JDBC类
*/
public class JDBCUtils {
/**
* 加载驱动,并建立数据库连接
*
* @return 返回数据库链接对象
* @throws SQLException 抛出SQLException
* @throws ClassNotFoundException 抛出ClassNotFoundException
* @throws IOException 抛出IOException
*/
static Connection getConnection() throws SQLException, ClassNotFoundException, IOException {
// 实例化Properties对象
Properties properties = new Properties();
// 加载properties配置文件
properties.load(new FileInputStream(new File("src\\tallybook_system\\properties\\db.properties")));
// 通过键名获取对应的值
String driverName = properties.get("driverName").toString();
String url = properties.get("url").toString();
String user = properties.get("user").toString();
String password = properties.get("password").toString();
// 数据库驱动
Class.forName(driverName);
// 获取数据库链接对象
Connection connection = DriverManager.getConnection(url, user, password);
return connection;
}
/**
* 关闭数据库连接,释放资源
*
* @param stmt Statement对象
* @param conn Connection对象
*/
static void release(Statement stmt, Connection conn) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
/**
* 关闭数据库连接,释放资源
*
* @param rs ResultSet对象
* @param stmt Statement对象
* @param conn Connection对象
*/
static void release(ResultSet rs, Statement stmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
release(stmt, conn);
}
/**
* Java代码实现MySQL数据库导出
*
* @param userName 进入数据库所需要的用户名
* @param password 进入数据库所需要的密码
* @param savePathName 数据库导出文件保存路径加名字
* @param databaseName 要导出的数据库名
* @return 返回true表示导出成功,否则返回false。
*/
public static boolean backup(String userName, String password, String savePathName, String databaseName) {
try {
// String stmt = "mysql -uroot -padmin myDB < " + "c:/sql.sql";
String stmt = "mysqldump -u" + userName + " -p" + password + " " + databaseName + " > " + savePathName;
String[] cmd = {"cmd", "/c", stmt};
Process process = Runtime.getRuntime().exec(cmd);
if (process.waitFor() == 0) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return false;
}
/**
* 操作结果:恢复数据库,前提是数据库里有该数据库名字,否则无法恢复(所以应该先创建一个数据库)
*
* @param username 用户名
* @param password 用户数据库密码
* @param databasename 数据库名字
* @param filePathName 数据库文件路径及名字加后缀
* @return boolean 如果恢复成功则返回true,否则返回false
*/
public static boolean recover(String username, String password, String databasename, String filePathName) {
try {
// String stmt = "mysql -uroot -padmin myDB < " + "c:/sql.sql";
String stmt = "mysql -u" + username + " -p" + password + " " + databasename + " < " + filePathName;
String[] cmd = {"cmd", "/c", stmt};
Process process = Runtime.getRuntime().exec(cmd);
if (process.waitFor() == 0) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return false;
}
}
配置好数据库连接后:
(1)输入昵称、密码后,点击注册
(2)注册成功后,点击登录
此时在数据库中能看到存储有用户id和以哈希存储的密码
4 每人每日总结
成员 | 总结 |
---|---|
王伊若 | 撸起袖子加油干! |
黄锐 | 经过第一天的冲刺,我们完成了一小部分的功能,刚开始有点慢,希望后面能再接再厉! |
江佳哲 | 已学废了,初步完成了用户注册和登录功能,深刻体会到数据库连接的感人 |
叶尔森 | 搭建环境是一个项目的开端,在搭建环境的工程中对项目的整体框架有了更深的理解 |