项目的四层架构搭建(包括ResultMap建立实体和数据库表的映射关系以及前后端分离模式)

创建框架

一、创建项目

添加application.yml配置文件

添加启动类

在resources中添加mappers文件夹

在java中添加entity、dao、service、controller包

项目的四层架构搭建(包括ResultMap建立实体和数据库表的映射关系以及前后端分离模式)_第1张图片

二、在pom.xml中添加依赖



    com.baomidou
    mybatis-plus-boot-starter
    3.5.1



    org.projectlombok
    lombok true



    mysql
    mysql-connector-java
    runtime

三、在application.yml中配置数据源

spring:
  # 配置数据源信息
  datasource:
    # 配置数据源类型
    type: com.zaxxer.hikari.HikariDataSource
    # 配置连接数据库信息
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/practice?characterEncoding=utf-8&useSSL=false
    username: root
    password: Aa123123.
mybatis-plus:
  type-aliases-package: demo.entity
  mapper-locations: classpath:mappers/*.xml

四、在启动类Demo.java中扫描dao

package demo;

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

@SpringBootApplication
@MapperScan("demo.dao")
public class Demo {

    public static void main(String[] args) {
        SpringApplication.run(Demo.class, args);
    }
}

后台项目开发

一、实体层

User.java

package demo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String userName;
    private String passwd;
    private String createDate;
}

Pager.java(用于返回用户列表数据和总共有多少用户数据  分页查询模式)

package demo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Pager {
    private Object data; //用于响应的数据
    private int pageTotle; //总条数
}

二、创建UserMapper.xml





三、UserMapper.xml通过ResultMap建立User实体和t_user表的映射关系



    
    
    
    

四、在UserMapper中添加查询所有用户的方法

UserMapper.java

public interface UserMapper {
    public List selectAll(int pageIndex, int pageSize);
}

UserMapper.xml


        select id, user_name, passwd, create_date from t_user
    

    

五、在IUserService中添加业务方法

IUserService接口

public interface IUserService {

    public Pager queryUserList(int pageIndex, int pageSize);
}

UserServiceImpl实现类

package demo.service.impl;

import demo.dao.UserMapper;
import demo.entity.User;
import demo.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class UserServiceImpl implements IUserService {

    @Autowired(required = false)
    private UserMapper userMapper;

    @Override
    public Pager queryUserList(int pageIndex, int pageSize) {
        List list = userMapper.selectAll((pageIndex-1)*pageSize, pageSize);
        int count = userMapper.selectCount();
        return new Pager(list, count);
    }
}

五、在UserController中测试

package demo.controller;

import demo.dao.UserMapper;
import demo.entity.User;
import demo.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

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

    @Autowired
    private IUserService userService;

    @RequestMapping("/list")
    @CrossOrigin(origins = "*") //允许所有跨源请求
    public Pager findUserList(int pageIndex, int pageSize){
        return userService.queryUserList(pageIndex, pageSize);
    }

}

六、运行效果

项目的四层架构搭建(包括ResultMap建立实体和数据库表的映射关系以及前后端分离模式)_第2张图片

 前台项目开发

一、添加bootstrap和vue的依赖

 
    
    
    
    
    
    

二、前端代码




    
    用户列表
    
    
    
    
    
    
    


    
用户列表
ID 用户名 创建日期
{{u.id}} {{u.userName}} {{u.createDate}}

三、页面效果

项目的四层架构搭建(包括ResultMap建立实体和数据库表的映射关系以及前后端分离模式)_第3张图片

你可能感兴趣的:(架构,java,mybatis,spring,vue)