package dao;
import Bean.User;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
数据库的链接及表的增删改查
public class UserDAO {
/*public static void main(String[] args) {
new UserDAO().getTotal();
}*/
public UserDAO() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//jdbc:mysql://localhost:3306
public Connection getConnection() throws SQLException {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8",
"root",
"123456");
}
public int getTotal() {
int total = 0;
try (Connection c = getConnection(); Statement s = c.createStatement()) {
String sql = "select count(*) from user";
ResultSet resultSet = s.executeQuery(sql);
while (resultSet.next()) {
total = resultSet.getInt(1);
}
System.out.println("total: " + total);
} catch (SQLException e) {
e.printStackTrace();
}
return total;
}
public void add(User bean) {
String sql = "insert into user values(null,?,?,?,?,?)";
try (Connection c = getConnection();
PreparedStatement ps = c.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS)) {
ps.setString(1, bean.getName());
ps.setString(2, bean.getPwd());
ps.setString(3, bean.getSex());
ps.setString(4, bean.getHome());
ps.setString(5, bean.getInfo());
ps.execute();
ResultSet generatedKeys = ps.getGeneratedKeys();
if (generatedKeys.next()) {
int id = generatedKeys.getInt(1);
bean.setId(id);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void delete(int id) {
try (Connection c = getConnection();
Statement s = c.createStatement();){
String sql = "delete from user where id = " + id;
s.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void update(User bean) {
String sql = "update user set name = ?, pwd = ?, sex = ?, home = ?, info = ? where id = ?";
try (Connection c = getConnection();
PreparedStatement ps = c.prepareStatement(sql)){
ps.setString(1, bean.getName());
ps.setString(2, bean.getPwd());
ps.setString(3, bean.getSex());
ps.setString(4, bean.getHome());
ps.setString(5, bean.getInfo());
ps.setInt(6, bean.getId());
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public User get(int id) {
User user = null;
try (Connection c = getConnection();
Statement s = c.createStatement();){
String sql = "select * from user where id = " + id;
ResultSet resultSet = s.executeQuery(sql);
if (resultSet.next()) {
user = new User();
String name = resultSet.getString("name");
String pwd = resultSet.getString("pwd");
String sex = resultSet.getString("sex");
String home = resultSet.getString("home");
String info = resultSet.getString("info");
user.setId(id);
user.setName(name);
user.setPwd(pwd);
user.setSex(sex);
user.setHome(home);
user.setInfo(info);
}
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
public List<User> list() {
return list(0, Short.MAX_VALUE);
}
public List<User> list(int start, int count) {
List<User> list = new ArrayList<>();
String sql = "select * from user order by id DESC limit ?, ?";
try (Connection c = getConnection();
PreparedStatement ps = c.prepareStatement(sql)){
ps.setInt(1, start);
ps.setInt(2, count);
ResultSet resultSet = ps.executeQuery();
while (resultSet.next()) {
User user = new User();
int id = resultSet.getInt(1);
String name = resultSet.getString("name");
String pwd = resultSet.getString("pwd");
String sex = resultSet.getString("sex");
String home = resultSet.getString("home");
String info = resultSet.getString("info");
user.setId(id);
user.setName(name);
user.setPwd(pwd);
user.setSex(sex);
user.setHome(home);
user.setInfo(info);
list.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
}
重写service方法
将查询的数据进行页面渲染
package service;
import Bean.User;
import dao.UserDAO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
public class UserServlet extends HttpServlet{
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html; charset=UTF-8");
List<User> list = new UserDAO().list();
StringBuffer sb = new StringBuffer();
sb.append("<table align='center' border='1' cellspacing='0'>\r\n");
sb.append("<tr><td>id</td><td>name</td><td>pwd</td><td>sex</td><td>home</td><td>info</td>" +
"<td>edit</td><td>delete</td></tr>\r\n");
String sFormat = "<tr><td>%d</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>" +
"<td><a href='editUser?id=%d'>edit</a></td><td><a href='deleteUser?id=%d'>delete</a></td></tr>\r\n";
for (User user : list) {
String tr = String.format(sFormat, user.getId(), user.getName(), user.getPwd(), user.getSex(),
user.getHome(), user.getInfo(), user.getId(), user.getId());
sb.append(tr);
}
sb.append("</table>");
resp.getWriter().println(sb.toString());
/*for (User user : list) {
resp.getWriter().println(user.toString());
}*/
}
}
web.xml配置
<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>service.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/user</url-pattern>
</servlet-mapping>
配置好tomcat启动访问页面

本文详细介绍了一个使用Java实现的用户信息管理系统,包括用户数据的创建、读取、更新和删除(CRUD)操作。系统通过连接MySQL数据库,实现了用户信息的存储与检索,提供了添加、删除、修改和查询用户的功能。
521

被折叠的 条评论
为什么被折叠?



