使用MVC+DAO模式完成修改密码功能的完整代码
时间: 2023-09-16 21:13:47 浏览: 32
这是一个简单的基于Java的MVC+DAO模式的修改密码功能的完整代码:
Model类:
```java
public class User {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
}
```
DAO接口:
```java
public interface UserDAO {
public boolean updatePassword(User user, String newPassword);
}
```
DAO实现类:
```java
public class UserDAOImpl implements UserDAO {
public boolean updatePassword(User user, String newPassword) {
// 连接数据库
Connection conn = null;
PreparedStatement pstmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
String sql = "UPDATE user SET password = ? WHERE username = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newPassword);
pstmt.setString(2, user.getUsername());
pstmt.executeUpdate();
return true;
} catch (ClassNotFoundException e) {
e.printStackTrace();
return false;
} catch (SQLException e) {
e.printStackTrace();
return false;
} finally {
try {
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
Controller类:
```java
public class UserController {
private UserDAO userDAO;
public UserController() {
userDAO = new UserDAOImpl();
}
public boolean updatePassword(User user, String newPassword) {
return userDAO.updatePassword(user, newPassword);
}
}
```
View类:
```java
public class ChangePasswordView {
private UserController userController;
public ChangePasswordView() {
userController = new UserController();
}
public void onChangePassword(User user, String newPassword) {
boolean result = userController.updatePassword(user, newPassword);
if (result) {
System.out.println("密码修改成功!");
} else {
System.out.println("密码修改失败!");
}
}
}
```
使用时,可以这样调用:
```java
User user = new User("example", "oldpassword");
ChangePasswordView view = new ChangePasswordView();
view.onChangePassword(user, "newpassword");
```
以上就是一个简单的MVC+DAO模式的修改密码功能的完整代码。