- 根据需求,注册成功时需要将用户信息写入数据库,并在HDFS中建立用户的专属目录
1.项目基本逻辑
2.文件目录
3.数据库连接测试
Test.java:
package com.wy.dbtest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test {
public static void main(String[] args) throws Exception {
Statement stmt = null;
ResultSet rs = null;
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/panUser?serverTimezone=UTC&useSSL=false";
String name = "root";
String password = "000";
Connection conn = DriverManager.getConnection(url, name, password);
// 3.conn.isClosed()方法判断连接是否关闭;返回true:连接关闭;返回false:连接未关闭
if(conn.isClosed()){
// 返回true:连接关闭
System.out.println("连接失败!");
}else{
// 返回false:连接未关闭
System.out.println("连接成功!");
//3.获取语句对象
// !!!!!!!!!! 你要是数据库的user表还没有建立好的话,这后面可以不要 !!!!!!!
stmt = conn.createStatement();
//定义一个sql语句
String sql = "select * from panuser";
//4.语句对象将sql语句发送到数据库上,执行后得到结果集
rs = stmt.executeQuery(sql);
//5.遍历结果集,通过向下移动光标,光标指向哪一行就可以获取当前记录行的各个字段的值
while(rs.next()){
//获取当前记录行的各个字段的值,根据字段名获取字段值
String user = rs.getString("user");
String pwd = rs.getString("password");
//打印当前行各个字段值
System.out.println(user+","+pwd);
}
}
}
}
4.用户的类
User.java:
package com.wy.pojo;
public class User {
private String user;
private String password;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public User(String user, String password) {
super();
this.user = user;
this.password = password;
}
public User() {
super();
}
public void setPassword(String password) {
this.password = password;
}
}
5.对数据库相应的操作
- 在注册成功后,需要在数据库添加用户信息
- 登录需要查找用户信息
UserDao.java:
package com.wy.pojo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class UserDao {
// 获得连接
public static Connection getConnection()
String url = "jdbc:mysql://127.0.0.1:3306/panUser?serverTimezone=UTC"
String name = "root";
String password = "000";
Connection conn = null
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(url, name, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// 关闭连接
public void closeCon(Connection con) throws Exception{
if(con!=null){
con.close();
}
}
// 根据用户名查找用户密码
public User findUser(String username) {
String sql = "select * from panuser where user=?";
Connection con = getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
User user = new User();
try {
pstmt = con.prepareStatement(sql);
pstmt.setString(1, username);
rs = pstmt.executeQuery();
if (rs.next()) {
user.setUser(rs.getString("user"));
user.setPassword(rs.getString("password"));
}
else {
return null;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (pstmt != null)
pstmt.close();
if (con != null)
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
// closeCon(con);
return user;
}
// 添加用户
public boolean addUser