Springboot框架完整项目
项目结构:
###POJO:
package cn.ztes.admin.pojo;
public class Admin {
private int id;
private String username;
private String password;
private String level;
@Override
public String toString() {
return "Admin{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", level='" + level + '\'' +
'}';
}
public Admin() {
}
public Admin(int id, String username, String password, String level) {
this.id = id;
this.username = username;
this.password = password;
this.level = level;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
}
package cn.ztes.admin.pojo;
public class ResultInfo {
//表示结果的数字,例如200代表成功,500代表失败。。。
private int code;
//结果描述
private String msg;
//数据
private T data;
public ResultInfo(int code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public ResultInfo() {
}
@Override
public String toString() {
return "ResultInfo{" +
"code=" + code +
", msg='" + msg + '\'' +
", data=" + data +
'}';
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
package cn.ztes.admin.pojo;
public class User {
private int id;
private String name;
private String gender;
private int age;
private String address;
private String qq;
private String email;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", address='" + address + '\'' +
", qq='" + qq + '\'' +
", email='" + email + '\'' +
'}';
}
public User() {
}
public User(int id, String name, String gender, int age, String address, String qq, String email) {
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.address = address;
this.qq = qq;
this.email = email;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
###mapper
##UserMapper
@Mapper
public interface UserMapper {
@Select(“select * from user”)
List findAllUsers();
@Insert("insert into user values(null,#{name},#{gender}," +
"#{age},#{address},#{qq},#{email})")
int addOne(User user);
@Select("select * from user where qq = #{qq}")
User findUserByQq(String qq);
@Delete("delete from user where id = #{id}")
int deleteById(int id);
@Select("select * from user where id = #{id}")
User selectById(int id);
@Update("update user set gender=#{gender},age=#{age},address=#{address}," +
"qq=#{qq},email=#{email} where id=#{id}")
int updateByUser(User user);
}
##AdminMapper
@Mapper
public interface AdminMapper {
@Select(“select * from admin”)
List findAllAdmins();
@Insert("insert into admin values(null,#{username},#{password}," +
"#{level})")
int addOne(Admin admin);
@Select("select * from admin where username = #{username}")
Admin findadminByUsername(String username);
@Delete("delete from admin where id = #{id}")
int deleteById(int id);
@Select("select * from admin where id = #{id}")
Admin selectById(int id);
@Update("update admin set password=#{password},level=#{level} where id=#{id}")
int updateByAdmin(Admin admin);
@Select("select * from admin where username = #{username} and password = #{password}")
Admin selectByAdmin(Admin admin);
}
###Service
##UserService
public interface UserService {
public List findAllUsers();
//插入一条数据
public ResultInfo addOne(User user);
//判断QQ是否重复
public ResultInfo testQq(String qq);
//判断QQ是否重复,如果重复再判断id是否一致,不一致则真重复,一致则用户没改QQ
public ResultInfo testQq2(String qq,int id);
//根据id删除user
public ResultInfo deleteById(int id);
//根据id查找user
public ResultInfo selectById(int id);
//根据user修改user
public ResultInfo updateByUser(User user);
}
##UserServiceImpl
@Service
public class UserServiceImpl implements UserService {
//自动装配
@Autowired(required = false)
UserMapper userMapper;
@Override
public List findAllUsers() {
return userMapper.findAllUsers();
}
public ResultInfo addOne(User user){
ResultInfo resultInfo = testQq(user.getQq());
if (resultInfo.getCode()!=0){
int i = userMapper.addOne(user);
resultInfo = new ResultInfo();
resultInfo.setCode(i);
if (i==1){
resultInfo.setMsg("添加用户成功!");
}else{
resultInfo.setMsg("系统繁忙,添加用户失败!");
}
return resultInfo;
}else{
return resultInfo;
}
}
public ResultInfo testQq(String qq){
User userByQq = userMapper.findUserByQq(qq);
if (userByQq==null){
return new ResultInfo(1,"QQ不存在",null);
}else{
return new ResultInfo(0,"QQ已存在",null);
}
}
//判断QQ是否重复,如果重复再判断id是否一致,不一致则真重复,一致则用户没改QQ
public ResultInfo testQq2(String qq,int id){
//调用testQq方法检查是否重复
ResultInfo resultInfo = testQq(qq);
//如果重复
if (resultInfo.getCode()==0){
//则根据id查找qq
ResultInfo resultInfo1 = selectById(id);
User data = (User)resultInfo1.getData();
//如果qq相同则代表没有修改QQ,所以正常
if (data.getQq().equals(qq)) {
return new ResultInfo(1,"QQ不存在",null);
}else{
//负责是真跟其他联系人的qq重复了
return new ResultInfo(0,"QQ已存在",null);
}
}
return resultInfo;
};
public ResultInfo deleteById(int id){
int i = userMapper.deleteById(id);
if (i==1){
return new ResultInfo(1,"删除成功",null);
}else{
return new ResultInfo(0,"系统繁忙,稍后再试!",null);
}
}
public ResultInfo selectById(int id){
User user = userMapper.selectById(id);
if (user!=null){
return new ResultInfo(1,"查找成功",user);
}else{
return new ResultInfo(0,"系统繁忙,稍后再试!",null);
}
}
public ResultInfo updateByUser(User user){
int i = userMapper.updateByUser(user);
if (i==1){
return new ResultInfo(1,"修改成功",null);
}else{
return new ResultInfo(0,"系统繁忙,稍后再试!",null);
}
}
}
##AmdinService
public interface AdminService {
public List findAllAdmins();
//插入一条数据
public ResultInfo addOne(Admin admin);
//判断QQ是否重复
public ResultInfo testUsername(String username);
//根据id删除admin
public ResultInfo deleteById(int id);
//根据id查找admin
public ResultInfo selectById(int id);
//根据admin修改admin
public ResultInfo updateByAdmin(Admin admin);
public ResultInfo selectByAdmin(Admin admin);
}
##AmdinServiceImpl
@Service
public class AdminServiceImpl implements AdminService {
//自动装配
@Autowired(required = false)
AdminMapper adminMapper;
@Override
public List findAllAdmins() {
return adminMapper.findAllAdmins();
}
public ResultInfo addOne(Admin admin){
ResultInfo resultInfo = testUsername(admin.getUsername());
if (resultInfo.getCode()!=0){
int i = adminMapper.addOne(admin);
resultInfo = new ResultInfo();
resultInfo.setCode(i);
if (i==1){
resultInfo.setMsg("添加用户成功!");
}else{
resultInfo.setMsg("系统繁忙,添加用户失败!");
}
return resultInfo;
}else{
return resultInfo;
}
}
public ResultInfo testUsername(String username){
Admin adminByUsername = adminMapper.findadminByUsername(username);
if (adminByUsername==null){
return new ResultInfo(1,"账号不存在",null);
}else{
return new ResultInfo(0,"账号已存在",null);
}
}
public ResultInfo deleteById(int id){
int i = adminMapper.deleteById(id);
if (i==1){
return new ResultInfo(1,"删除成功",null);
}else{
return new ResultInfo(0,"系统繁忙,稍后再试!",null);
}
}
public ResultInfo selectById(int id){
Admin admin = adminMapper.selectById(id);
if (admin!=null){
return new ResultInfo(1,"查找成功",admin);
}else{
return new ResultInfo(0,"系统繁忙,稍后再试!",null);
}
}
public ResultInfo updateByAdmin(Admin admin){
int i = adminMapper.updateByAdmin(admin);
if (i==1){
return new ResultInfo(1,"修改成功",null);
}else{
return new ResultInfo(0,"系统繁忙,稍后再试!",null);
}
}
@Autowired
HttpSession session;
public ResultInfo selectByAdmin(Admin admin){
Admin result = adminMapper.selectByAdmin(admin);
if (result==null){
return new ResultInfo(0,"账号或者密码错误",null);
}else{
session.setAttribute("admin",result);
return new ResultInfo(1,"登录成功",null);
}
};
}
####Controller
###UserController
@RestController
@RequestMapping(“/user”)
public class UserController {
@Autowired
UserService userService;
@Autowired
HttpSession session;
@RequestMapping("/list")
public ResultInfo findAllUsers(){
List<User> users = userService.findAllUsers();
Admin admin = (Admin)session.getAttribute("admin");
String level = admin.getLevel();
return new ResultInfo(Integer.parseInt(level),"",users);
}
@RequestMapping("/addOne")
public ResultInfo addOne(User user){
return userService.addOne(user);
}
@RequestMapping("/testQq2")
public ResultInfo testQq2(String qq,int id){
return userService.testQq2(qq,id);
}
@RequestMapping("/testQq")
public ResultInfo testQq(String qq){
return userService.testQq(qq);
}
@RequestMapping("/deleteById")
public ResultInfo deleteById(int id){
return userService.deleteById(id);
}
@RequestMapping("/selectById")
public ResultInfo selectById(int id){
return userService.selectById(id);
}
@RequestMapping("/updateByUser")
public ResultInfo updateByUser(User user){
return userService.updateByUser(user);
}
}
###AdminController
@RestController
@RequestMapping(“/admin”)
public class AdminController {
@Autowired
AdminService adminService;
@RequestMapping("/list")
public List<Admin> findAllAdmins(){
return adminService.findAllAdmins();
}
@RequestMapping("/addOne")
public ResultInfo addOne(Admin admin){
return adminService.addOne(admin);
}
@RequestMapping("/testUsername")
public ResultInfo testUsername(String username){
return adminService.testUsername(username);
}
@RequestMapping("/deleteById")
public ResultInfo deleteById(int id){
return adminService.deleteById(id);
}
@RequestMapping("/selectById")
public ResultInfo selectById(int id){
return adminService.selectById(id);
}
@RequestMapping("/updateByAdmin")
public ResultInfo updateByAdmin(Admin admin){
return adminService.updateByAdmin(admin);
}
@RequestMapping("/login")
public ResultInfo selectByAdmin(Admin admin){
return adminService.selectByAdmin(admin);
}
}
####Config
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
@Autowired
LoginIntceptor loginIntceptor;
@Autowired
Admin9Intceptor admin9Intceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginIntceptor)
.addPathPatterns(“/**”)
.excludePathPatterns(“list.html”,“/login.html”,“/admin/login”,“/js/“,”/css/”,“/fonts/“);
registry.addInterceptor(admin9Intceptor)
.addPathPatterns(”/admin/”,“/admin_list.html”)
.excludePathPatterns(“/admin/login”);
}
}
####Component
##LoginIntceptor
@Component
public class LoginIntceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Admin admin = (Admin)request.getSession().getAttribute(“admin”);
if (admin!=null){
return true;
}else{
response.sendRedirect(“/login.html”);
return false;
}
}
}
##Admin9Intceptor
@Component
public class Admin9Intceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Admin admin = (Admin)request.getSession().getAttribute(“admin”);
String level = admin.getLevel();
if (level.equals(“9”)){
return true;
}else{
response.sendRedirect(“/login.html”);
return false;
}
}