以用户登录、注册、添加删除修改为例,解析jdbcTemplate使用方式以及spring注解实现CRUD

来源:互联网 发布:淘宝店代销怎么样 编辑:程序博客网 时间:2024/05/16 03:31

一、准备工作,定义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";

}

}

}

七、视图部分这里就不贴了,有空会把整个项目放出来,文档手打,难面有错误之处,望谅解、指正。

阅读全文
1 0
原创粉丝点击