栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

创建项目(登录 、左列表)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建项目(登录 、左列表)


  创建项目

 创建项目目录

编辑pom.xml文件



    4.0.0
    com.jt
    jt
    0.0.1-SNAPSHOT
    jt
    jt

    
    
        1.8
        UTF-8
        UTF-8
        2.4.1
    
    
        
        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            org.springframework.boot
            spring-boot-devtools
        

        
        
            org.projectlombok
            lombok
        

        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        

        
        
            mysql
            mysql-connector-java
        

    

    
        
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
        
    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                    UTF-8
                
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.4.1
                
                    com.jt.SpringbootDemo1Application
                
                
                
                    
                        repackage
                        
                            repackage
                        
                    
                
            
        
    

 在controller包中创建类

UserController类

package com.jt.controller;

import com.jt.pojo.User;
import com.jt.service.UserService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/findAll")
    public List findAll(){

        return userService.findAll();
    }

    
    @PostMapping("/login")
    public SysResult login(@RequestBody User user){

        String token = userService.findUserByUP(user);
        if(token == null || "".equals(token)){
            //表示用户名和密码错误
            return SysResult.fail();
        }
        //表示用户名和密码正确,返回秘钥信息
        return SysResult.success(token);
    }



}

RightsController类

package com.jt.controller;

import com.jt.pojo.Rights;
import com.jt.service.RightsService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/rights")
public class RightsController {

    @Autowired
    private RightsService rightsService;

    
    @GetMapping("getRightsList")
    public SysResult getRightsList(){

        List list = rightsService.getRightsList();
        return SysResult.success(list);
    }
}

创建mapper包

 创建UserMapper接口

package com.jt.mapper;

import com.jt.pojo.User;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserMapper {

    List findAll();
    @Select("select * from user where username=#{username} and password=#{password}")
    User findUserByUP(User user);
}

创建RightsMapper接口

package com.jt.mapper;

import com.jt.pojo.Rights;

import java.util.List;

public interface RightsMapper {

    List getRightsList();
}


创建pojo包

 basePojo类

package com.jt.pojo;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

@Data
@Accessors(chain=true)
public class basePojo implements Serializable{
	private Date created;	//表示入库时需要赋值
	private Date updated;	//表示入库/更新时赋值.
}
Item类
package com.jt.pojo;

import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
public class Item extends basePojo{
    private Integer id;         //商品Id号
    private String title;       //商品标题信息
    private String sellPoint;   //卖点信息
    private Integer price;      //商品价格
    private Integer num;        //商品数量
    private String images;       //商品图片
    private Integer itemCatId;  //商品分类ID号
    private Boolean status;     //状态信息    0 下架 1 上架

}
ItemCat类
package com.jt.pojo;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
public class ItemCat extends basePojo{

    private Integer id;         //定义主键
    private Integer parentId;   //定义父级菜单
    private String name;        //分类名称
    private Boolean status;     //分类状态 0 停用 1 正常
    private Integer level;      //商品分类等级  1 2 3
    private List children;
}
ItemDesc类
package com.jt.pojo;

import lombok.Data;
import lombok.experimental.Accessors;


@Data
@Accessors(chain = true)
public class ItemDesc extends basePojo{

    private Integer id;
    private String itemDesc;

}
Rights类
package com.jt.pojo;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
public class Rights extends basePojo{
    private Integer id;
    private String name;
    private Integer parentId;
    private String path;
    private Integer level;
    private List children; //不是表格固有属性
}
User类
package com.jt.pojo;

import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class User extends basePojo{
    private Integer id;
    private String username;
    private String password;
    private String phone;
    private String email;
    private Boolean status;
}

创建service包

UserService接口
package com.jt.service;

import com.jt.pojo.User;

import java.util.List;

public interface UserService {

    List findAll();

    String findUserByUP(User user);
}
UserServiceImpl类
package com.jt.service;

import com.jt.mapper.UserMapper;
import com.jt.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;

import java.util.List;
import java.util.UUID;

@Service
public class UserServiceImpl implements UserService{

    @Autowired
    private UserMapper userMapper;


    @Override
    public List findAll() {
        return userMapper.findAll();
    }

    //根据u/p查询数据库
    @Override
    public String findUserByUP(User user) {
        //1.将密码加密
        byte[] bytes = user.getPassword().getBytes();
        String md5Pass = DigestUtils.md5DigestAsHex(bytes);
        System.out.println(md5Pass);
        user.setPassword(md5Pass);
        //2.根据用户名和密文查询数据库
        User userDB = userMapper.findUserByUP(user);
        //3.判断userDB是否有值
        if(userDB == null){
            //查询没有数据.返回null
            return null;
        }
        //秘钥特点: 唯一性,迷惑性  UUID:几乎可以保证唯一性
        return UUID.randomUUID().toString().replace("-","");
    }
}

RightsService接口
package com.jt.service;

import com.jt.pojo.Rights;

import java.util.List;

public interface RightsService {

    List getRightsList();
}
RightsServiceImpl类
package com.jt.service;

import com.jt.mapper.RightsMapper;
import com.jt.pojo.Rights;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class RightsServiceImpl implements RightsService{

    @Autowired
    private RightsMapper rightsMapper;


    @Override
    public List getRightsList() {

        return rightsMapper.getRightsList();
    }
}

创建vo包

ItemVO类
package com.jt.vo;

import com.jt.pojo.Item;
import com.jt.pojo.ItemDesc;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class ItemVO {  //该对象封装商品所有的参数信息
    private Item item;
    private ItemDesc itemDesc;
}
SysResult类
package com.jt.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class SysResult {

    private Integer status; //200正常 201失败
    private String msg;     //服务器返回提示信息
    private Object data;    //服务器返回业务数据

    
    public static SysResult fail(){
        return new SysResult(201,"服务器调用失败!",null);
    }

    public static SysResult success(){

        return new SysResult(200,"服务器调用成功!",null);
    }

    //重载规则:参数不要耦合,否则会产生歧义.
    public static SysResult success(Object data){

        return new SysResult(200,"服务器调用成功!",data);
    }

    public static SysResult success(String msg,Object data){

        return new SysResult(200,msg,data);
    }
}

启动类

package com.jt;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.jt.mapper")
public class SpringBootRun {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootRun.class, args);
    }
}

创建resources包

创建UserMapper.xml文件





    
        SELECT  p.id,p.name,p.parent_id,p.path,p.level,p.created,p.updated,
                c.id c_id,c.name c_name,c.parent_id c_parent_id,
                c.path c_path,c.level c_level,c.created xiangmuc_created,
                c.updated c_updated	 FROM
                (SELECt * FROM rights WHERe parent_id = 0)p
                    LEFT JOIN
            rights c
                ON
                p.id = c.parent_id
    

    
    
        
        
        
            
            
            
            
            
            
            
        
    

编辑application.yml文件

server:
  port: 8091

#整合1.数据源
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root
    #关于密码0 开头的说明
    #password: "0123456"

#SpringBoot整合mybatis
mybatis:
  #指定别名包
  type-aliases-package: com.jt.pojo
  #加载指定的xml映射文件
  mapper-locations: classpath:/mybatis/mappers
  border-radius: 10px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  .avatar_box {
    height: 130px;
    width: 130px;
    border: 1px solid #EEEEEE;
    border-radius: 50%;
    padding: 10px;
    box-shadow: 0 0 10px #DDDDDD; 
    position: absolute;           
    left: 50%;                    
    transform: translate(-50%,-50%);   
    background-color: #FFFFFF;
    img {
      height: 100%;
      width: 100%;
      border-radius: 50%;
      background-color: #EEEEEE;
    }
  }

  .btns {
    display: flex;
    justify-content: flex-end;

  }

  .login_form {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
}

index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import ElementUI from '../components/ElementUI.vue'
import Home from '../components/Home.vue'
//使用路由机制
Vue.use(VueRouter)
const routes = [
  {path: '/', redirect: '/login'},
  {path: '/login', component: Login},
  {path: '/elementUI', component: ElementUI},
  {path: '/home', component: Home}
]

//路由导航守卫!!!!!!!

const router = new VueRouter({
  routes
})

router.beforeEach((to,from,next) => {
    if(to.path === '/login'){
      //直接跳转并且结束代码
      return next()
    }
    //2.判断是否有token
    let token = window.sessionStorage.getItem("token")
    if(token !== null && token !==''){ //更加安全
      //有值,跳转指定页面
      return next()
    }
    //3.如果数据为空则跳转到登录页面
    next('/login')
})


//路由对象的使用
export default router

启动App.vue文件

输入http://localhost: 8080/

点击登录

补充

 表内数据 自定义。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号