若依框架入门之代码生成和增删改查

**

若依框架入门之代码生成和增删改查

**

隔的时间太长了,自己懒加上工作上事比较多就很长时间没有更新。趁着今天有空再记录一下关于若依框架在我们开发过程中建表代码生成到增删改查功能的实现过程。闲话不多说我们开始。

  1. 建表
CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `student_name` varchar(30) DEFAULT '' COMMENT '学生姓名',
  `student_num` varchar(30) DEFAULT '' COMMENT '学号',
  `address` varchar(500) DEFAULT '' COMMENT '家庭住址',
  `student_age` int(3) DEFAULT NULL COMMENT '年龄',
  `student_sex` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)',
  `student_birthday` datetime DEFAULT NULL COMMENT '生日',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='学生表';
  1. 代码生成

建完表之后我们登录若依管理系统,找到 系统工具→代码生成
在这里插入图片描述
点击导入按钮,选择我们刚才建的表student,点击确定。
在这里插入图片描述
只要在数据库新建过表之后都会在此查询到我们新建的表。
在这里插入图片描述
然后我们会在代码生成列表页看见学生表的记录
在这里插入图片描述
点击右侧的 预览 按钮,可以预览学生表增删改查业务功能的代码
在这里插入图片描述
从左到右依次是 与表结构对应的实体类;mapper接口;业务层;业务实现层;控制器;编写sql的xml;查询用的列表页面;添加页面;编辑页面。

点击右侧的 编辑 按钮,可以修改我们生成后代码的基本信息,比如实体的字段类型,在页面添加数据时这个字段是文本框还是下拉框,用这个字段查询时是模糊查询还是精确查询等。当然也可以不用编辑等代码生成之后直接在html中或者类中自己修改,我更推荐这种方式毕竟学到的才是自己的,这种可视化的方式终究还是太片面,代码实现才是硬道理。
在这里插入图片描述
好了,这里我们直接点击生成代码,选择路径就下载到本地了。

解压出来之后,我们看一下文件目录结构:
在这里插入图片描述
这个路径下存放的就是我们业务代码,控制器,实体类,mapper接口,业务类和业务实现类。
在这里插入图片描述
这个路径下存放的是mybatis的xml文件。
在这里插入图片描述
这个路径下存放的是我们的添加学生信息页面,编辑学生信息页面和查询学生的列表页面。

下面我们就把这些代码放到项目里。

  1. 代码整合

首先我们来看一下若依的项目目录结构:
在这里插入图片描述

模块名称作用
ruoyi-admin控制器和页面,负责调用其他子模块
ruoyi-common工具类,类似全局配置,JSON数据处理等
ruoyi-framework框架核心,实现了数据权限,请求拦截,异步处理的安全框架
ruoyi-generator代码生成模块
ruoyi-quartz定时任务模块
ruoyi-system实体类,mapper接口,业务层和业务实现层以及xml

知道了每个模块的功能和具体每个模块都放了什么代码文件,下面我们就把我们生成的代码整合到项目里。

先从实体类开始,从表格中看出实体类都在ruoyi-system模块中,我们在该模块中与system包同级新建develop包用于存放我们自己开发系统中用到的实体类文件。
在这里插入图片描述

注意这里system和develop包是同级的,并且目录结构一样,这样做的原因是将我们开发过程中用到的实体类等一系列java文件与系统自带的区分开,这样也便于系统后期的维护,如果所有文件都放在一个包下难免显得冗余。

然后就是把domain,mapper接口,service,impl复制到相应的我们刚才建的包里,这里因为生成的代码是放在system包下的,所以我们复制到这里难免会出现编译报错这里手动修改一下把system改成develop就可以了,用idea的小伙伴alt + 回车选择第二个重新引一下就可以了。
在这里插入图片描述
然后我们还是在该模块的resource下,同样的跟system同级新建一个develop文件夹,将StudentMapper.xml复制到develop文件夹下。
在这里插入图片描述
然后我们修改xml中< mapper >节点的namespace属性,把system改成develop。这个是告诉mybatis我们的mapper接口文件的所在位置,mybatis自动完成映射。
在这里插入图片描述
修改完成之后使用idea开发工具的小伙伴把鼠标放在StudentMapper上再ctrl+鼠标左键能跳转到StudentMapper.java类就可以了。

至此ruoyi-system模块的代码整合完毕,接下来就是ruoyi-admin模块的代码整合。

表格中提到,ruoyi-admin主要负责客户端接受客户端发来的请求,实现页面跳转和数据返回,其实主要还是在controller中完成的,同理我们在ruoyi-admin的controller包下新建develop包与system同级,把我们StudentController复制进来。
在这里插入图片描述
然后修改一下controller中import的错误。

接着我们在resources的templates文件夹下新建develop文件夹来存放我们项目自己的页面。
在这里插入图片描述
将代码生成文件夹里的main\resources\templates\system\student文件夹直接拷贝过来。
在这里插入图片描述
然后就是修改页面请求后台的请求路径,将三个页面:add.html;edit.html;student.html中的所有system替换成develop,这里我就直接快捷键ctrl + R替换了。
在这里插入图片描述
修改完三个页面之后,我们修改StudentController,也是直接将所有的system替换成develop。

然后就大功告成啦,我们启动项目登录首页。新增一个菜单。
在这里插入图片描述
在这里插入图片描述
点击确定。
在这里插入图片描述
找到我们新添加的菜单数据右侧新增一个菜单
在这里插入图片描述
请求地址就是控制器的RequestMapping
在这里插入图片描述
权限标识就是控制器中返回student.html的RequiresPermissions
在这里插入图片描述
显示排序随便一个数字再随便选择一个图标点击确定。
然后我们F5刷新一下页面在左侧就可以看到我们新增的业务模块,学生信息管理了。
在这里插入图片描述
然后添加学生信息:
在这里插入图片描述
点击确定可以看到我们添加的学生信息。
在这里插入图片描述
点击编辑可以修改学生信息:
在这里插入图片描述
点击删除可以删除该学生信息:
在这里插入图片描述
好啦,这就实现了我们的需求,有问题欢迎在评论区提问~

  • 64
    点赞
  • 289
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
若依框架是一个基于Spring Boot的快速开发平台,它提供了一套通用的增删改查(CRUD)操作的实现。使用若依框架可以简化开发过程,下面是关联增删改查的实现步骤: 1. 定义实体类:首先需要定义相关的实体类,包括主表和关联表。在实体类中使用注解定义表之间的关联关系,如@OneToMany、@ManyToOne、@ManyToMany等。 2. 创建Repository:使用若依框架代码生成器可以自动生成基础的增删改查Repository接口。如果需要关联查询,可以在接口中定义相关方法,使用@Query注解编写自定义的SQL语句。 3. 编写Service层:在Service层中定义相关的业务逻辑方法,并调用Repository中的方法进行数据操作。可以在Service层中处理关联查询的逻辑,如根据主表查询关联表的数据。 4. 创建Controller:在Controller层中定义接口,通过调用Service层中的方法来处理前端请求。可以使用@RestController注解标识该类为Controller,并使用@RequestMapping注解标识接口地址。 5. 前端页面:根据业务需求,编写前端页面来展示数据。可以使用若依框架提供的前端模板和组件,也可以根据自己的需要选择其他前端技术。 通过以上步骤,就可以实现关联增删改查功能。当然,具体实现方式还会受到业务需求和数据模型的影响,以上只是一个基本的示例。在实际开发中,还需要根据具体情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值