启动工具:idea
涉及知识:
前端:HTML+CSS+Javascript
后端:Spring+SpringMVC+Mybatis框架
数据库:MySQL
这是一个完整的图书馆里系统项目,从用户注册登入进入对数据库中用户信息以及图书借阅管理进行增删改查功能,并且运用了拦截器等等
代码比较多不一一讲解
首先是AdminController是对用户信息增删改查控制层的代码:
@Controller public class AdminController { @Autowired private AdminService adminService; @GetMapping("/adminIndex") public String adminIndex(){ return "admin/adminIndex"; } @RequestMapping("/adminAll") @ResponseBody public DataInfo queryAdminAll(Admin admin, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "15") Integer limit){ PageInfo<Admin> pageInfo = adminService.queryAdminAll(admin,pageNum,limit); return DataInfo.ok("成功",pageInfo.getTotal(),pageInfo.getList()); } /** * 添加页面的跳转 * @return */ @GetMapping("/adminAdd") public String adminAdd(){ return "admin/adminAdd"; } /** * 添加提交 * @param admin * @return */ @RequestMapping("/addAdminSubmit") @ResponseBody public DataInfo addBookSubmit(Admin admin){ adminService.addAdminSubmit(admin); return DataInfo.ok(); } /** * 根据id查询 */ @GetMapping("/queryAdminById") public String queryAdminById(Integer id, Model model){ model.addAttribute("id",id); return "admin/updateAdmin"; } /** * 修改提交 */ @RequestMapping("/updatePwdSubmit") @ResponseBody public DataInfo updatePwdSubmit(Integer id,String oldPwd,String newPwd){ Admin admin = adminService.queryAdminById(id);//根据id查询对象 if (!oldPwd.equals(admin.getPassword())){ return DataInfo.fail("输入的旧密码错误"); }else{ admin.setPassword(newPwd); adminService.updateAdminSubmit(admin);//数据库修改 return DataInfo.ok(); } } /** * 删除 */ @RequestMapping("/deleteAdminByIds") @ResponseBody public DataInfo deleteAdminByIds(String ids){ List<String> list = Arrays.asList(ids.split(",")); adminService.deleteAdminByIds(list); return DataInfo.ok(); } }
admin的dao层代码编写:
public interface AdminMapper { /** * This method was generated by MyBatis Generator. * This method corresponds to the database table admin * * @mbggenerated Tue Mar 30 16:30:04 CST 2021 */ int deleteByPrimaryKey(Integer id); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table admin * * @mbggenerated Tue Mar 30 16:30:04 CST 2021 */ int insert(Admin record); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table admin * * @mbggenerated Tue Mar 30 16:30:04 CST 2021 */ int insertSelective(Admin record); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table admin * * @mbggenerated Tue Mar 30 16:30:04 CST 2021 */ Admin selectByPrimaryKey(Integer id); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table admin * * @mbggenerated Tue Mar 30 16:30:04 CST 2021 */ int updateByPrimaryKeySelective(Admin record); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table admin * * @mbggenerated Tue Mar 30 16:30:04 CST 2021 */ int updateByPrimaryKey(Admin record); /** * 管理员查询 */ List<Admin> queryAdminInfoAll(Admin admin); /** * 根据用户名和密码查询用户信息 */ Admin queryUserByNameAndPassword(@Param("username") String username,@Param("password") String password); }
写一个admin接口,也就是service层
public interface AdminService { /** * 查询所有管理员(分页) */ PageInfo<Admin> queryAdminAll(Admin admin,Integer pageNum,Integer limit); /** * 添加提交 */ void addAdminSubmit(Admin admin); /** * 根据id查询(修改) */ Admin queryAdminById(Integer id); /** * 修改提交 */ void updateAdminSubmit(Admin admin); /** * 删除 */ void deleteAdminByIds(List<String> ids); /** * 根据用户名和密码查询用户信息 */ Admin queryUserByNameAndPassword(String username,String password); } 然后是adminserviceimpl
@Service("adminService") public class AdminServiceImpl implements AdminService { @Autowired private AdminMapper adminMapper; @Override public PageInfo<Admin> queryAdminAll(Admin admin, Integer pageNum, Integer limit) { PageHelper.startPage(pageNum,limit); List<Admin> adminList = adminMapper.queryAdminInfoAll(admin); return new PageInfo<>(adminList) ; } @Override public void addAdminSubmit(Admin admin) { adminMapper.insert(admin); } @Override public Admin queryAdminById(Integer id) { return adminMapper.selectByPrimaryKey(id); } @Override public void updateAdminSubmit(Admin admin) { adminMapper.updateByPrimaryKey(admin); } @Override public void deleteAdminByIds(List<String> ids) { for (String id : ids){ adminMapper.deleteByPrimaryKey(Integer.parseInt(id)); } } @Override public Admin queryUserByNameAndPassword(String username, String password) { return adminMapper.queryUserByNameAndPassword(username,password); } } 这是数据库
需要源码压缩包的可私聊(包含SQL文件)直接下载运行即可