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

分享一篇前后端分离的简单的SpringBoot的项目实战示例

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

分享一篇前后端分离的简单的SpringBoot的项目实战示例

1、说明:

继上次分享之后,因为还有种编码格式事利用.XML文件去编码数据库的操作,所以现在分享一种利用.XML和.properties的方式去构建SpringBoot的方式。

2、重点

1、结构包的分享

2、各个层级的含义
已在上篇文章中有写,请查看
3、话不多说,直接上代码
1、studentController.java

package com.example.controller;


import com.example.entity.Student;
import com.example.service.studentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Controller  // 在Controller层必须要有的注解
@RequestMapping
public class studentController {

    @Autowired
    private studentService studentservice;

    
    @RequestMapping("/listAll")
    public void listAll() {
        // 查找列表数据
        List students = studentservice.SelectAll();
        // 列出查找出的信息
        System.out.println(students);
    }

    
    @RequestMapping("/listBySex")
    public List listBySex(boolean sex) {
        List students1 = studentservice.SelectBySex(sex);
        if (students1.toString().equals("张飞小三")) {
            return null;
        }
        return students1;
    }
}

2、studentDao.java

package com.example.dao;


import com.example.entity.Student;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;


@Mapper
public interface studentDao {

    
    List SelectAll();

    
    List SelectBySex(Boolean sex);

    
    String Insert();

}

3、Student.java
package com.example.entity;

import lombok.*;

import java.util.Date;

@Data // Set设置 Get获取
@AllArgsConstructor // 生成一个包含所有参数的构造方法
@NoArgsConstructor // 生成一个无参数的构造方法
// @Repository(value = “/Student”)
public class Student {

// 学生姓名 数据库设置成varchar类型
private String name;

// 学生年龄 数据库设置成int类型
private int age;

// 学生性别 0(男) 、 1(女) 数据库设置成 tinyint类型
private boolean sex;

// 学生身份证号   数据库设置成 int类型,但明显长度不够
private Integer IDCord;

// 学生生日  数据库设置成Date类型
private Date birthDay;

}

4、studentService.java

package com.example.service;

import com.example.entity.Student;

import java.util.List;

public interface studentService {

    List SelectAll();

    List SelectBySex(Boolean sex);

    String Insert();
}

5、studentServiceImpl.java

package com.example.service.serviceImpl;

import com.example.dao.studentDao;
import com.example.entity.Student;
import com.example.service.studentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service("studentService")  // 加上该注解,将会将该类自动注入到spring容器中,不需要在applicationContext.xml中文件中再次定义bean了
@Transactional  // 需要AOP拦截及事务的处理,会影响到性能,只有对public才会起作用。放在实现接口的实现类上
public class studentServiceImpl implements studentService {

    
    @Autowired
    private studentDao studentdao;


    @Override
    public List SelectAll() {
        return studentdao.SelectAll();
    }

    @Override
    public List SelectBySex(Boolean sex) {
        return studentdao.SelectBySex(sex);
    }

    @Override
    public String Insert() {
        return studentdao.Insert();
    }
}

6、studentMapper.xml





    
        
        
        
        
        
    

    
        SELECT * from student where sex = #{sex};
    
    
        INSERT INTO student(name,age,sex,IDCord,birthDay) values (#{name},#{age},#{sex},#{IDCord},#{birthDay});
    


7、application.properties

#Mybatis 配置 >>> 配置xml文件所在的路径,配置映射类所在的包名
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.dao
# 注解链接数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=******
spring.datasource.password=*******
spring.datasource.dbcp2.max-idle=20
spring.datasource.dbcp2.min-idle=10
# 注解使tomcat端口号不冲突
server.port=8888

3、有问题请联系或留言。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686579.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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