运用JavaWeb从头到尾实现分页、增删改查操作

项目预览

实现代码

①/day_0514_06/src/com/qst/util/DBUtil.java

package com.qst.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUtil {
	Connection conn = null;
	PreparedStatement pstmt = null;
	ResultSet rs = null;

	/**
	 * 得到数据库连接
	 */
	public Connection getConnection()  {
		// 通过Config获取数据库配置信息
		String driver = "com.mysql.jdbc.Driver";
		String url = "jdbc:mysql://39.105.54.45:3306/zhuxueliang?useUnicod=true&characterEncoding=utf-8";
		String user ="root";
		String pwd = "123";
		try {
			// 指定驱动程序
			Class.forName(driver);
			// 建立数据库连结
			conn = DriverManager.getConnection(url, user, pwd);
		} catch (Exception e) {
			// 如果连接过程出现异常,抛出异常信息
			//throw new SQLException("驱动错误或连接失败!");
			return null;
		}
		return conn;
		
	}

	/**
	 * 释放资源
	 */
	public void closeAll() {
		// 如果rs不空,关闭rs
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		// 如果pstmt不空,关闭pstmt
		if (pstmt != null) {
			try {
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		// 如果conn不空,关闭conn
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

	/**
	 * 执行SQL语句,可以进行查询
	 */
	public ResultSet executeQuery(String preparedSql, Object[] param) {
		// 处理SQL,执行SQL
		try {
			// 得到PreparedStatement对象
			pstmt = conn.prepareStatement(preparedSql);
			if (param != null) {
				for (int i = 0; i < param.length; i++) {
					// 为预编译sql设置参数
					pstmt.setObject(i + 1, param[i]);
				}
			}
			// 执行SQL语句
			rs = pstmt.executeQuery();
		} catch (SQLException e) {
			// 处理SQLException异常
			e.printStackTrace();
		}
		return rs;
	}

	/**
	 * 执行SQL语句,可以进行增、删、改的操作,不能执行查询
	 * @throws SQLException 
	 * @throws IllegalAccessException 
	 * @throws InstantiationException 
	 * @throws ClassNotFoundException 
	 */
	public int executeUpdate(String preparedSql, Object[] param) {

		int num = 0;
		// 处理SQL,执行SQL
		try {
			this.getConnection();
			// 得到PreparedStatement对象
			pstmt = conn.prepareStatement(preparedSql);
			if (param != null) {
				for (int i = 0; i < param.length; i++) {
					// 为预编译sql设置参数
					pstmt.setObject(i + 1, param[i]);
				}
			}
			// 执行SQL语句
			num = pstmt.executeUpdate();
		} catch (SQLException e) {
			// 处理SQLException异常
			e.printStackTrace();
		}finally {
			this.closeAll();
		}
		return num;
	}
	public static void main(String[] args) {
		DBUtil dbUtil = new DBUtil();
		System.out.println(dbUtil.getConnection());
	}
}

②/day_0514_06/src/com/qst/pojos/User.java

package com.qst.pojos;

public class User {
	// id,userName,userPwd,sex,age
	private int id;
	private String userName;
	private String userPwd;
	private String userRePwd;
	private String sex;
	private int age;

	public User() {
		super();
	}

	public User(String userName, String userPwd, String userRePwd, String sex, int age) {
		super();
		this.userName = userName;
		this.userPwd = userPwd;
		this.userRePwd = userRePwd;
		this.sex = sex;
		this.age = age;
	}

	public User(int id, String userName, String userPwd, String userRePwd, String sex, int age) {
		super();
		this.id = id;
		this.userName = userName;
		this.userPwd = userPwd;
		this.userRePwd = userRePwd;
		this.sex = sex;
		this.age = age;
	}

	public User(int id, String userName, String userPwd, String sex, int age) {
		super();
		this.id = id;
		this.userName = userName;
		this.userPwd = userPwd;
		this.sex = sex;
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserPwd() {
		return userPwd;
	}

	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public String getUserRePwd() {
		return userRePwd;
	}

	public void setUserRePwd(String userRePwd) {
		this.userRePwd = userRePwd;
	}

	/**
	 * 重写toString方法
	 */
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append("用户Id:" + id + "; ");
		sb.append("用户名:" + userName + "; ");
		sb.append("密码:" + userPwd + "; ");
		sb.append("性别:" + (sex.equals("1")?'男':'女') + "; ");
		sb.append("年龄:" + age + "; ");
		sb.append("<a href=\"${pageContext.request.contextPath}/UserAction?method=userList\">隐藏</a>");
		return sb.toString();
	}

}

③/day_0514_06/src/com/qst/pojos/Page.java

package com.qst.pojos;

import java.util.List;

public class Page<T> {
	private Integer pageNow;//当前页数
//	private Integer pageCount;总页数
	private Integer rowCount;//总行数
	private Integer pageSize;//每一页行数
	private List<T> pageRow;//当前页表格数据
	
	public Page() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public Page(Integer pageNow,Integer rowCount, Integer pageSize, List<T> pageRow) {
		super();
		this.pageNow = pageNow;
		this.rowCount = rowCount;
		this.pageSize = pageSize;
		this.pageRow = pageRow;
	}

	public Integer getPageNow() {
		return pageNow;
	}
	public void setPageNow(Integer pageNow) {
		this.pageNow = pageNow;
	}
	public Integer getPageCount() {
		Integer pageCount = rowCount%pageSize==0?rowCount/pageSize:(rowCount/pageSize+1);
		return pageCount;
	}
	/*public void setPageCount(Integer pageCount) {
		this.pageCount = pageCount;
	}*/
	public Integer getRowCount() {
		return rowCount;
	}
	public void setRowCount(Integer rowCount) {
		this.rowCount = rowCount;
	}
	public Integer getPageSize() {
		return pageSize;
	}
	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}
	public List<T> getpageRow() {
		return pageRow;
	}
	public void setpageRow(List<T> pageRow) {
		this.pageRow = pageRow;
	}
	
}

④/day_0514_06/src/com/qst/dao/UserDao.java

package com.qst.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.qst.pojos.Page;
import com.qst.pojos.User;
import com.qst.util.DBUtil;

public class UserDao {
	DBUtil dbUtil = null;

	public UserDao() {
		super();
		dbUtil = new DBUtil();
	}
	/**
	 * 添加方法
	 * @param user
	 * @return
	 */
	public int save(User user) {
		// id,userName,userPwd,sex,age
		String sql = "insert into t_User(userName,userPwd,sex,age) values(?,?,?,?)";
		Object[] param = { user.getUserName(), user.getUserPwd(), user.getSex(), user.getAge() };
		dbUtil.getConnection();
		int result = dbUtil.executeUpdate(sql, param);
		dbUtil.closeAll();
		return result;
	}

	/**
	 * 查询方法
	 * 
	 * @param userName
	 * @return User对象
	 */
	public User readUser(String userName) {
		User user = null;
		String sql = "select * from t_user where userName=?";
		Object[] param = { userName };
		dbUtil.getConnection();
		ResultSet rs = dbUtil.executeQuery(sql, param);
		try {
			if (rs.next()) {
				user = new User(rs.getInt("id"), rs.getString("userName"), rs.getString("userPwd"), rs.getString("sex"),
						rs.getInt("age"));
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			dbUtil.closeAll();
		}
		return user;
	}

	/**
	 * 修改方法
	 * 
	 * @param user
	 * @return result
	 */
	public int updateUser(User user) {
		// id,userName,userPwd,sex,age
		String sql = "update t_user set userPwd=?,sex=?,age=? where userName=?";
		Object[] param = { user.getUserPwd(), user.getSex(), user.getAge(), user.getUserName() };
		dbUtil.getConnection();
		int result = dbUtil.executeUpdate(sql, param);
		dbUtil.closeAll();
		return result;
	}

	/**
	 * 删除方法
	 * 
	 * @param id
	 *            userId
	 * @return result
	 */
	public int deleteUser(Integer id) {
		String sql = "delete from t_user where id=?";
		Object[] param = { id };
		dbUtil.getConnection();
		int result = dbUtil.executeUpdate(sql, param);
		dbUtil.closeAll();
		return result;
	}
	
	/**
	 * 分页方法
	 * @param pageSize 每一页的行数
	 * @param pageNow 当前页
	 * @return page
	 */
	public Page<User> queryPage(int pageSize, int pageNow) {
		Page<User> page = new Page<User>();
		page.setPageSize(pageSize);
		page.setPageNow(pageNow);
		String sql = "select count(*) from t_user";
		dbUtil.getConnection();
		ResultSet rs = dbUtil.executeQuery(sql, null);
		try {
			rs.next();
			Integer rowCount = rs.getInt(1);
			page.setRowCount(rowCount);
			List<User> pageRow = new ArrayList<User>();
			String preparedSql = "select * from t_user limit ?,?";
			Object[] param = { page.getPageSize() *( page.getPageNow() - 1), page.getPageSize() };
			ResultSet res = dbUtil.executeQuery(preparedSql, param);
			while (res.next()) {
				User user = new User(res.getInt("id"), res.getString("userName"), res.getString("userPwd"),
						res.getString("sex"), res.getInt("age"));
				pageRow.add(user);
			}
			page.setpageRow(pageRow);
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			dbUtil.closeAll();
		}
		return page;
	}
}

⑤/day_0514_06/src/com/qst/service/UserService.java

package com.qst.service;


import com.qst.dao.UserDao;
import com.qst.pojos.Page;
import com.qst.pojos.User;

public class UserService {
	UserDao userDao = null;

	public UserService() {
		super();
		this.userDao = new UserDao();
	}

	// 业务逻辑
	public boolean addUser(User user) {
		// 判断用户的年龄是否大于16周岁
		// 判断一下用户的密码是否包含特殊字符(汉子)
		// 判断用户的密码和确认密码相同
		// return userDao.save(user)>0;
		int result = userDao.save(user);
		if (result > 0) {
			return true;
		}
		return false;
	}

	public User readUser(String userName) {
		return userDao.readUser(userName);
	}
	
	public boolean updateUser(User user) {
		int result = userDao.updateUser(user);
		if (result > 0) {
			return true;
		}
		return false;
	}

	public boolean deleteUser(Integer id) {
		int result = userDao.deleteUser(id);
		if (result > 0) {
			return true;
		}
		return false;
	}
	
	public Page<User> queryPage(Integer pageSize, Integer pageNow) {
		return userDao.queryPage(pageSize, pageNow);
	}
	
}

⑥/day_0514_06/src/com/qst/action/UserAction.java

package com.qst.action;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.qst.pojos.Page;
import com.qst.pojos.User;
import com.qst.service.UserService;

public class UserAction extends HttpServlet {
	private static final long serialVersionUID = 1L;

	public UserAction() {
		super();
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String method = request.getParameter("method");
		if ("addUser".equals(method)) {
			addUser(request, response);
		} else if ("userList".equals(method)) {
			showUserList(request, response);
		} else if ("readUser".equals(method)) {
			readUser(request, response);
		} else {
			deleteUser(request, response, method);
		}
	}
	
	/**
	 * 分页显示模块
	 */
	private void showUserList(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		UserService userService = new UserService();
		// List<User> userList = userService.getAllUserInfo();
		String pageNow = request.getParameter("pageNow");
		if (pageNow == null||pageNow.isEmpty()) {//如果当前页为空或者首次使用则pageNow=1
			Page<User> userList = userService.queryPage(5, 1);
			request.setAttribute("userList", userList);
		}else {
			Page<User> userList = userService.queryPage(5, Integer.parseInt(pageNow));
			request.setAttribute("userList", userList);
		}
		request.getRequestDispatcher("/userList.jsp").forward(request, response);
	}

	/**
	 * 添加和修改用户模块
	 */
	private void addUser(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String userName = request.getParameter("userName");
		String userPwd = request.getParameter("userPwd");
		String userRePwd = request.getParameter("userRePwd");
		String ageStr = request.getParameter("age");
		String sex = request.getParameter("sex");
		if(userName==null||userPwd==null||!userPwd.equals(userRePwd)||ageStr==null||sex==null) {
			request.getSession().setAttribute("message", "更新失败,请重新填写!");
			response.sendRedirect(request.getContextPath()+"/addUser.jsp");
		}else {
			User user = new User(userName, userPwd, userRePwd, sex, Integer.parseInt(ageStr));
			UserService userService = new UserService();
			User users = userService.readUser(userName);
			if (users != null) {//判断用户(users)是否存在,若存在使用修改方法,若不存在则添加。
				userService.updateUser(user);
			} else {
				userService.addUser(user);
			}
			showUserList(request, response);
		}
	}

	/**
	 * 查询用户模块
	 */
	private void readUser(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String userName = request.getParameter("userName");
		UserService userService = new UserService();
		User users = userService.readUser(userName);
		request.setAttribute("users", users.toString());
		showUserList(request, response);
	}

	/**
	 * 删除用户模块
	 */
	private void deleteUser(HttpServletRequest request, HttpServletResponse response, String method)
			throws ServletException, IOException {
		UserService userService = new UserService();
		Integer id = Integer.parseInt(method);
		userService.deleteUser(id);
		showUserList(request, response);
	}

}

⑦/day_0514_06/WebContent/WEB-INF/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>day_0514_06</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>UserAction</servlet-name>
		<servlet-class>com.qst.action.UserAction</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>UserAction</servlet-name>
		<url-pattern>/UserAction</url-pattern>
	</servlet-mapping>
</web-app>

⑧/day_0514_06/WebContent/addUser.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>更新页面</title>
</head>
<body>
	<font color="red">${message}</font>
	<form action="/day_0514_06/UserAction" method="post">
		<table>
			<tr>
				<th colspan="2">添加用户界面</th>
			</tr>
			<tr>
				<td>用户名</td>
				<td><input type="text" name="userName" placeholder="请输入用户名" /></td>
			</tr>
			<tr>
				<td>密码</td>
				<td><input type="password" name="userPwd" placeholder="请输入密码" /></td>
			</tr>
			<tr>
				<td>确认密码</td>
				<td><input type="password" name="userRePwd" placeholder="请输入密码" /></td>
			</tr>
			<tr>
				<td>年龄</td>
				<td><input type="number" name="age" min="16" max="100" /></td>
			</tr>
			<tr>
				<td>性别</td>
				<td><input type="radio" name="sex" value="1" />男 <input
					type="radio" name="sex" value="" />女</td>
			</tr>
			<tr>
				<td colspan="2"><input type="hidden" value="addUser"
					name="method" /> <input type="submit" value="更新数据" /></td>
			</tr>
		</table>
	</form>
</body>
</html>

⑨/day_0514_06/WebContent/userList.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	import="com.qst.pojos.Page" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>显示页面</title>
<style type="text/css">
#numberPage {
	border: 1px solid #000;
	padding: 1px 7px;
	text-decoration: none;
}

#tableStyle {
	width: 75%;
	border-collapse: collapse;
}

#bodyStyle {
	text-align: center;
}

/* 参考:https://blog.csdn.net/LJXZDN/article/details/79575587 */
table tr:nth-child(odd) {
	background: #ccc;
}
</style>

</head>
<body id="bodyStyle">
	<!-- 查询模块 -->
	<form action="${pageContext.request.contextPath}/UserAction" method="post">
		用户名:<input type="text" name="userName" /> <input type="hidden"
			value="readUser" name="method"> <input type="submit"
			value="查询">
	</form>
	${users}
	<br />
	<!-- 表格模块 -->
	<table border="1" align="center" id="tableStyle">
		<tr>
			<th>ID</th>
			<th>用户名</th>
			<th>密码</th>
			<th>性别</th>
			<th>年龄</th>
			<th>更新</th>
			<th>删除</th>
		</tr>
		<c:forEach items="${userList.pageRow}" var="user">
			<tr>
				<td>${user.id }</td>
				<td>${user.userName }</td>
				<td>${user.userPwd }</td>
				<td>${user.sex==0?'女':'男' }</td>
				<td>${user.age }</td>
				<td><a href="addUser.jsp">更新</a></td>
				<td><a href="${pageContext.request.contextPath}/UserAction?method=${user.id }">删除</a></td>
			</tr>
		</c:forEach>
	</table>
	<br />
	<!-- 分页模块=>注意:判断是否头溢出和尾溢出 -->
	<c:out value="第${userList.pageNow}页/共${userList.pageCount}页"></c:out>
	<a href="<c:url value="UserAction?method=userList&pageNow=${1}" />"
		id="numberPage">首页</a>
	<c:if test="${userList.pageNow > 1}">
		<a
			href="<c:url value="UserAction?method=userList&pageNow=${userList.pageNow-1}" />"
			id="numberPage">上一页</a>
	</c:if>
	<!-- 
		总页数小于要显示的页数(5页)
			begin = 1;
			end = ${userList.pageCount};
		总页数大于要显示的页数(5页)
			begin = ${userList.pageNow - 2 };
			end = ${userList.pageNow - 2 };
	 -->
	<c:choose>
		<c:when test="${userList.pageCount < userList.pageSize }">
			<c:set var="begin" value="1" />
			<c:set var="end" value="${userList.pageCount}" />
		</c:when>
		<c:otherwise>
			<c:set var="begin" value="${userList.pageNow - 2 }" />
			<c:set var="end" value="${userList.pageNow + 2 }" />
			<c:if test="${begin < 1 }">
				<c:set var="begin" value="${1}" />
				<c:set var="end" value="${5}" />
			</c:if>
			<c:if test="${end > userList.pageCount }">
				<c:set var="begin" value="${userList.pageCount-4}" />
				<c:set var="end" value="${userList.pageCount}" />
			</c:if>
		</c:otherwise>
	</c:choose>
	<c:forEach var="i" begin="${begin }" end="${end }">
		<c:choose>
			<c:when test="${i eq userList.pageNow }">
				${i}
			</c:when>
			<c:otherwise>
				<a href="<c:url value="UserAction?method=userList&pageNow=${i}" />"
					id="numberPage">${i}</a>
			</c:otherwise>
		</c:choose>
	</c:forEach>
	<c:if test="${userList.pageNow < userList.pageCount}">
		<a
			href="<c:url value="UserAction?method=userList&pageNow=${userList.pageNow+1}" />"
			id="numberPage">下一页</a>
	</c:if>
	<a
		href="<c:url value="UserAction?method=userList&pageNow=${userList.pageCount}" />"
		id="numberPage">尾页</a>
</body>
</html>

⑩t_test.sql

1.创建一张表User(id,userName,userPwd,sex,age) id自增

CREATE TABLE `ssh_test`.`t_user`(  
  `id` INT NOT NULL AUTO_INCREMENT,
  `userName` VARCHAR(50),
  `userPwd` VARCHAR(50),
  `sex` VARCHAR(2),
  `age` INT,
  PRIMARY KEY (`id`)
);
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('25','wq6','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('26','wq7','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('27','wq8','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('28','wq9','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('29','wq10','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('30','wq11','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('31','wq12','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('32','wq13','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('33','wq14','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('34','wq15','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('35','wq16','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('36','wq17','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('37','wq18','ewqe','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('38','dsed','1234','','43');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('39','ewq','345','1','34');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('40','ew2q3','123','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('41','ew3','123','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('42','ew3e','321','1','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('43','fdsw','1234','','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('44','dwdw','123','1','43');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('45','swqw','dse','','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('46','qwe','qee','1','23');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('47','qw1','123','','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('48','qw3','123','','32');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('49','sswq','123','1','34');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('50','ww','234','1','22');
insert into `t_user` (`id`, `userName`, `userPwd`, `sex`, `age`) values('51','32','2332','1','43');

运行结果







说明

  1. 本文是对本人的上一篇博客的改进,代码95%没变,只有博客标题不一样。
  2. 代码加了注释,整体上不在混乱不堪,无法理解。
  3. 运用CSS美化了显示页面(包括表格和分页)。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值