以用户登录、注册、添加删除修改为例,解析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";
}
}
}
七、视图部分这里就不贴了,有空会把整个项目放出来,文档手打,难面有错误之处,望谅解、指正。
- 以用户登录、注册、添加删除修改为例,解析jdbcTemplate使用方式以及spring注解实现CRUD
- jdbcTemplate实现crud操作(添加、删除、更改操作)
- Spring 利用jdbcTemplate 实现CRUD
- spring jdbcTemplate实现crud操作
- day58:hibernate04_JPA注解方式实现hibernate CRUD--【用户添加角色没那摩神秘】
- 利用Servlet和Spring JDBCTemplate实现用户登录效果
- Spring注解方式使用与注册bean
- linux只能以guest方式登录,修改为root和其他非root用户都可以登录
- 使用注解做添加删除修改
- wordpress添加用户注册以及登录IP记录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- 使用Forms Authentication实现用户注册、登录
- LaTeX 插入PDF图片,该用哪个命令?
- java小记(1)
- java中类型转换优先顺序
- BZOJ1087(SCOI2005)[互不侵犯King]--状压DP
- Android Oreo 常见问题 2.0 | Android 开发者 FAQ Vol.9
- 以用户登录、注册、添加删除修改为例,解析jdbcTemplate使用方式以及spring注解实现CRUD
- rsync+inotify逐一文件监听并实时同步-附完美案例
- Week01_day03 分支 选择判断 循环语句
- 分布式唯一ID极简教程
- mysql only_full_group_by 问题
- Android 通过一个app 启动另一个app
- 【C++】关于变量在for循环内外定义的思考
- 企服三会·PPT | 中国软件网曹开彬:洞见2018中国CRM趋势洞察报告
- 企服三会·PPT | 中国软件网曹开彬:洞见2018中国HR服务趋势洞察报告