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 每人每日总结
成员 | 总结 |
---|---|
王伊若 | 撸起袖子加油干! |
黄锐 | 经过第一天的冲刺,我们完成了一小部分的功能,刚开始有点慢,希望后面能再接再厉! |
江佳哲 | 已学废了,初步完成了用户注册和登录功能,深刻体会到数据库连接的感人 |
叶尔森 | 搭建环境是一个项目的开端,在搭建环境的工程中对项目的整体框架有了更深的理解 |