一、准备工作,定义model--User
privete String userName;
private String password;
此处省略get和set以及toString方法
二、定义接口UserDao
public interface UserDao{
public void register(User user); //此处为注册模块,传入的是一个user对象
public String findUserByUserName(final String userName); //此处为登录,传入的是一个userName。这里暂时没做密码判断
public List<User> findAllUsers(); //这里是查询所有用户,返回的是一个List,里面包含了所有的用户信息
public String addUser(String userName,String password); //这里是添加用户,传入用户名和密码
public void deleteUser (String id); //这里是删除用户,传入用户表里面的id
public boolean updateUser(int id, String userName,String password); //这里是修改用户,传入id,用户名和密码,返回的boolean值来判定修改是否成功
}
三、创建UserDao的实现类UserDaoImpl
//注册
public void register(User user){
String sqlstr = "insert into user(userName,password) values (?,?)";
Object[] params = new Object[] {user.getUserName(),user.getPassword()};
jdbcTemplate.updata(sqlstr,params);
}
//登录检测
public String findUserByUserName(String userName){
String sqlstr = String.format("select count(id) from user where userName = '%s'",userName);
int count = jdbcTemplate.queryForInt(sqlstr);
if(count == 1){
return "OK";
}else{
return "error";
}
}
//查询所有用户信息
public List<User> findAllUsers(){
String sql = "select * from user";
List<User> users = new ArrayList<User>();
List<Map<string,Object>> list = jdbcTemplate.queryForList(sql);
for(int i=0;i<list.size();i++){
User user = new User();
user.setId((Integer)list.get(i).get("id").hashcode());
user.setUserName(list.get(i).get("userName").toString());
user.setPassword(list.get(i).get("Password").toString());
users.add(user);
}
return users;
}
//添加用户
public String addUser(String userName,String password){
int i = jdbcTemplate.update("insert into user(userName,password) values (?,?)",new Object[] {userName,password});
if(i>0){
return "OK";
}else{
return "error";
}
}
//删除用户
public void deleteUser(String id){
jdbcTemplate.update("delete from user where id =?",new Object[]{id});
}
//修改用户信息
public boolean updateUser(String id,String userName,String password){
boolean flag = false;
int i = jdbcTemplate.update("update user set userName = ? ,password = ? where id =?", new Boject[]{userName,password,id});
if(i>0){
flag = true;
}else{
flag = false;
}
}
四、定义服务层接口UserService,这里就不做过的注释了
public String loginCheck(){User user};
public List<User> findAllUsers(){};
public String addUser(String userName,String password){};
public void deleteUser(String id){};
public boolean updateUser(String id,String userName,String pqssword){};
五、定义UserService的实现类UserServiceImpl
privete UserDao userDao;
//登录检测
public String loginCheck(User user){
String result = userDao.getUserByUserName(user.getUserName());
if(result,equals("OK")){
return "OK";
}else{
return "error";
}
}
//获取所有用户信息
public List<User> getAllUsers(){
List<User> users = userDao.getAllUsers();
return users;
}
//添加用户
public String addUser(String userName,String password){
String result = userDao.addUser(userName,password);
return result;
}
//删除用户
ppublic void deleteUser(String id){
String result = userDao,deleteUser(id);
}
//修改用户信息
public bvoolean update(String id,String userName,String password){
boolean flag = userDao.updateUser(id,userName,password);
if(flag){
return true;
}else{
return flase;
}
}
六、定义controlller类UserController,这里使用的是注解的方式,也推荐使用这种方式
@controller
public class UserControlller{
private UserService userService;
//跳转到登录页面
@requestMapping("loginView")
public String loginView(){
return "login";
}
//跳转到注册页面
@requestMapping("regesterView")
public String register(){
return "register";
}
//登录
@requestMapping("login",method=RequestMethod.POST)
public String login(String userName,String password){
User user = new User(userName,password);
String result = userService.loginCheck(user);
if(result.equals("OK")){
return "success"; //登录成功跳转到success页面
}else{
return "login"; //失败则重新回到登录界面
}
}
//查询所有
@requestMapping("selectall")
public Strin selectAll(HttpServerRequest req,HttpServerResponse rep){
List<User> users = userService.getAllUsers();
req.setAttribute("UserList",users);
return "index";
}
//跳转到添加页面
@RequestMapping("addView")
public String adduser(){
return "addView";
}
//添加用户
@RequesrMapping("add")
public String addUser(String userName,String password){
string result = userService.addUser(userName,password);
if(result.equals("OK")){
return "redirect:selectall.do"; //重定向到selectall中
}else{
return "error";
}
}
//删除用户
@RequestMapping("del")
public void deleteUser(String id,HttpServerResponse rep){
try{
userService.deleteUser(id);
rep.getWrite().print("{"\"del\":\"true\""}");
}catch(Exception e){
e.printStackTrace();
}
}
//修改用户
@RequsetMapping("update")
public String update(String id,String userName,String password){
boolean flag = userService.updateUser(id,userName,password);
if(flag){
return "redirect:selectall.do";
}else{
return "error";
}
}
}
七、视图部分这里就不贴了,有空会把整个项目放出来,文档手打,难面有错误之处,望谅解、指正。
也欢迎登录我的个人网站,里面有更多的文章及技术咨询在等你:http://www.guangmuhua.com