package com.ljh.user.pojo;
public class User {
private Integer userId;
private String userName;
private String userPwd;
private String userEmail;
private Integer userAge;
private String userIdCardNo;
@Override
public String toString() {
return "User [userId=" + userId + ", userName=" + userName + ", userPwd=" + userPwd + ", userEmail=" + userEmail
+ ", userAge=" + userAge + ", userIdCardNo=" + userIdCardNo + "]";
}
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
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 getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public Integer getUserAge() {
return userAge;
}
public void setUserAge(Integer userAge) {
this.userAge = userAge;
}
public String getUserIdCardNo() {
return userIdCardNo;
}
public void setUserIdCardNo(String userIdCardNo) {
this.userIdCardNo = userIdCardNo;
}
}
package com.ljh.page.pojo;
import java.util.List;
/**
* 分页工具类.泛型类
*/
public class PageUtil{
//属性
private int pageNumber;//总记录数
private int pageCount;//总页数
private int pageIndex;//当前页
private int pageSize;//每页大小
private List list;//当前页的数据
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
编写控制层UserController
package com.ljh.user.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.ljh.page.pojo.PageUtil;
import com.ljh.user.pojo.User;
import com.ljh.user.service.UserService;
/**
* 控制层
* @author 46656
*
*/
@Controller
@RequestMapping("user")
public class UserController {
@Autowired
private UserService userServiceImp;
/**
* 用户注册
* @param user
* @return
*/
@RequestMapping("reg")
public ModelAndView reg(User user) {
userServiceImp.reg(user);
ModelAndView mav = new ModelAndView();
mav.setViewName("forward:/user/getAllUser.action");
return mav;
}
/**
* 查询全部用户
* @return
*/
@RequestMapping("getAllUser")
public ModelAndView getAllUser() {
List userList = userServiceImp.getAllUser();
ModelAndView mav = new ModelAndView();
mav.setViewName("getAllUser");
mav.addObject("userList", userList);
return mav;
}
/**
* 根据ID查找用户
* @param user
* @return
*/
@RequestMapping("getUserById")
public ModelAndView getUserById(User user) {
User userGet = userServiceImp.getUserById(user);
ModelAndView mav = new ModelAndView();
mav.setViewName("updateUser");
mav.addObject("userGet", userGet);
return mav;
}
/**
* 修改用户
* @param user
* @return
*/
@RequestMapping("updateUser")
public ModelAndView updateUser(User user) {
userServiceImp.updateUser(user);
ModelAndView mav = new ModelAndView();
mav.setViewName("forward:/user/getAllUser.action");
return mav;
}
/**
* 删除用户
* 带事务控制
* @param user
* @return
*/
@RequestMapping("delUser")
public ModelAndView delUser(User user) {
userServiceImp.delUser(user);
ModelAndView mav = new ModelAndView();
mav.setViewName("redirect:/user/getAllUser.action");
return mav;
}
/**
* 登录
* @param user
* @return
*/
@RequestMapping("login")
public ModelAndView login(User user) {
User userLogined = userServiceImp.login(user);
ModelAndView mav = new ModelAndView();
if(null == userLogined || "".equals(userLogined)) {
mav.setViewName("forward:/login.jsp");
mav.addObject("fail", "fail");
}else {
mav.setViewName("forward:/user/getAllUser.action");
mav.addObject("userLogined", userLogined);
}
return mav;
}
/**
* 分页
* @param request
* @param model
* @return
*/
@RequestMapping("getUserByPage")
public ModelAndView getUserByPage(HttpServletRequest request, Model model) {
int pageIndex = 1; //设置初始的当前页,页面显示的都是第一页
int pageSize = 10; //此处的值与sql语句的limit后面的数值保持一致
PageUtil pageUtil = new PageUtil(); List list = new ArrayList();
if (request.getParameter("pageIndex") != null) {
pageIndex = Integer.parseInt(request.getParameter("pageIndex"));
} //获取页面上点击'上一页或者下一页'传过来的pageindex
pageUtil.setPageIndex(pageIndex); //保存
int number = userServiceImp.pageCount(); //获得总数据量
pageUtil.setPageNumber(number); //保存
pageUtil.setPageSize(pageSize); //保存
pageUtil.setPageCount((int) Math.ceil((double) (pageUtil.getPageNumber() / pageUtil.getPageSize())) + 1);//计算出总页数,并封装到工具类
int index = (pageIndex - 1) * pageSize; //计算出每一页从数据库中第几条数据开始取值,也就是limit后面的第一个数字
list = userServiceImp.getUserByPage(index); //取得数据库中的值
pageUtil.setList(list); //保存到工具类中的集合
model.addAttribute("pageUtil", pageUtil); //传递到页面,存入值栈中
return new ModelAndView("getUserByPage"); //跳转的相关页面
}
}
编写页务层(这里只写UserService实现,省略接口了)
package com.ljh.user.service.imp;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.ljh.user.mapper.UserMapper;
import com.ljh.user.pojo.User;
import com.ljh.user.service.UserService;
public class UserServiceImp implements UserService{
@Autowired
private UserMapper userMapperImp;
public void reg(User user) {
userMapperImp.reg(user);
}
public List getAllUser() {
return userMapperImp.getAllUser();
}
public void updateUser(User user) {
userMapperImp.updateUser(user);
}
public User getUserById(User user) {
return userMapperImp.getUserById(user);
}
public void delUser(User user) {
userMapperImp.delUser(user);
//int i = 1/0; //测试事务控制
}
public User login(User user) {
return userMapperImp.login(user);
}
//获取总页数
public int pageCount(){
return userMapperImp.pageCount();
}
//分页显示所有用户
public List getUserByPage(int index){
return userMapperImp.getUserByPage(index);
}
}
insert into userinfo(userName,userPwd,userEmail,userAge,userIdCardNo)
values
(#{userName},#{userPwd},#{userEmail},#{userAge},#{userIdCardNo})
update userinfo
userName=#{userName},userPwd=#{userPwd},userEmail=#{userEmail},userAge=#{userAge},userIdCardNo=#{userIdCardNo}
userId=#{userId}
delete from userinfo where userId=#{userId}
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga