首页 > 数据库 >实验报告3-数据库框架实现数据操作1

实验报告3-数据库框架实现数据操作1

时间:2024-10-20 19:20:37浏览次数:9  
标签:categoryVoList java 框架 数据库 private categoryVo getCategoryVoList 实验报告 id

资源下载  

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="85FajrCa-1729422932142" src="https://player.bilibili.com/player.html?aid=113339355107350"></iframe>

实验报告3-数据库框架实现数据操作1

一、实现思路

        使用Spring Boot整合MyBatis-Plus完成开支分析案例的后台数据整合功能。要求:

        1、根据静态页面的echarts数据,设计返回前端数据包装类CategoryVo。

        2、多表关联查询,实现根据订单id查询商品订单信息。

        3、使用xml配置文件通过MybatisPlus实现数据封装。

        4、测试数据封装。

        5、实现service层功能。

        6、测试service层功能。

二、实验步骤

1、搭建数据库环境

        springbootdata数据库,t_category表、t_goods表、t_order表、t_order_goods表

2、新建项目

        Name:Exp3,GroupID:com.sw

        引入pom.xml文件、定义SpringBoot入口函数

3、实现功能

(1)项目配置信息

        classpath*目录,application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/springbootdata?characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: 123456
mybatis-plus:
  mapper-locations: classpath*:mybatis/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
(2)实体类

        pojo包,Category.java

@Data
@TableName("t_category")
public class Category {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private String name;
}

pojo.vo包,CategoryVo.java

@Data
public class CategoryVo {
    private Integer id;
    private String name;
    private BigDecimal cost;
}
(3)Mapper接口

        mapper包,CategoryMapper.java

public interface CategoryMapper extends BaseMapper<Category> {
    List<CategoryVo> getCategoryVoList();
}

classpath*:mapper目录,CategoryMapper.xml

    <select id="getCategoryVoList" resultType="com.sw.pojo.vo.CategoryVo">
        SELECT c.*, SUM(g.price*og.amount) cost
        FROM t_category c LEFT JOIN t_goods g ON g.category_id=c.id
                          LEFT JOIN t_order_goods og ON g.id=og.goods_id
        GROUP BY c.id
    </select>

        SpringBoot入口函数

@MapperScan("com.sw.mapper")
(4)测试CategoryMapper

        mapper包,CategoryMapper.java,getCategoryVoById()右键选择Generate→ Test.....

@SpringBootTest
class CategoryMapperTest {
    @Autowired
    private CategoryMapper categoryMapper;
    @Test
    void getCategoryVoList() {
        List<CategoryVo> categoryVoList = categoryMapper.getCategoryVoList();
        for (CategoryVo categoryVo : categoryVoList) {
            System.out.println(categoryVo);
        }
    }
}
(5)service层

        service包,CategoryService.java

public interface CategoryService extends IService<Category> {
    List<CategoryVo> getCategoryVoList();
}

        service.impl包,CategoryServiceImpl.java

@Service
public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> implements CategoryService {
    @Autowired
    private CategoryMapper categoryMapper;
    @Override
    public List<CategoryVo> getCategoryVoList() {
        List<CategoryVo> categoryVoList = categoryMapper.getCategoryVoList();
        for (CategoryVo categoryVo : categoryVoList) {
            if(ObjectUtils.isEmpty(categoryVo.getCost())){
                categoryVo.setCost(new BigDecimal(0));
            }
        }
        return categoryVoList;
    }
}
(6)测试CategoryService

        service包,CategoryService.java,getCategoryVoList()右键选择Generate→ Test.....

@SpringBootTest
class CategoryServiceTest {
    @Autowired
    private CategoryService categoryService;
    @Test
    void getCategoryVoList() {
        List<CategoryVo> categoryVoList = categoryService.getCategoryVoList();
        for (CategoryVo categoryVo : categoryVoList) {
            System.out.println(categoryVo);
        }
    }
}

标签:categoryVoList,java,框架,数据库,private,categoryVo,getCategoryVoList,实验报告,id
From: https://blog.csdn.net/u010288901/article/details/143096958

相关文章

  • 【附源码】景区旅游网站系统(源码+数据库+论文+ppt一整套齐全),java开发springboot框架
    ......
  • 电子图书网站系统|基于SprinBoot+vue图书电子商务网站设计与实现(源码+数据库+文档)
    图书电子商务网站系统目录基于SprinBoot+vue图书电子商务网站设计与实现一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家......
  • 医院管理|SprinBoot+vue医院后台管理系统设计与实现(源码+数据库+文档)
    医院后台管理系统目录基于SprinBoot+vue医院后台管理系统设计与实现一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主......
  • 20222423 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容1.1实践内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧使用msfvenom生成jar、apk等其他文件使用veil加壳工具使用C+shellcode进行编程通过组合应用各种技术实现恶意代码免杀用另一电脑实测,在杀软开启的情况下,可运行并回连......
  • 【含文档】基于Springboot+Vue的电影评价系统(含源码+数据库+lw)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能系统定......
  • 前端UI框架
    组件UI类1.Element-Plus2.uView3.Vant4.TDesign5.uni-app6.Tuniao-vue37.可视化图标类1.可视化图标VUEDataUI2.Echart图标库ICON1.yesicon2.Flaticon3.GoogleFonts4.fontawesome5.阿里巴巴其他1.CSS布局2.web前端样式布局3.中国色-颜色合集托管平台......
  • 20222302 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧(2)通过组合应用各种技术实现恶意代码免杀(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本2.实验过程任务一:正确使用msf编码器,veil-evasion,自己利用shellcod......
  • 网站与数据库连接错误怎么办
    当遇到网站与数据库连接错误时,可以按照以下步骤进行排查和解决:检查数据库服务状态:确认数据库服务是否已经启动。使用命令行工具或数据库管理软件尝试连接数据库。检查网络连接:确保服务器与数据库之间的网络连接正常。检查防火墙设置,确保没有阻止数据库端口的通信。......
  • 网站连接数据库怎么办
    连接网站到数据库通常涉及以下几个步骤:选择数据库类型:常见的数据库类型有MySQL、PostgreSQL、SQLite、MongoDB等。根据项目需求选择合适的数据库。安装数据库驱动:根据所选的数据库类型和开发环境,安装相应的数据库驱动。例如,对于Python和MySQL,可以使用 mysql-co......
  • 金蝶财务软件SQL数据库恢复
    金蝶财务软件SQL数据库的恢复过程可以根据具体情况采取不同的方法和策略。以下是一些详细的步骤和建议:一、确认备份情况首先,需要确认是否有金蝶数据库的备份存在。备份是数据恢复的基础,没有备份的情况下恢复数据将非常困难。验证备份文件的完整性和时效性,确保备份文件没有损坏且......