**
若依框架入门之代码生成和增删改查
**
隔的时间太长了,自己懒加上工作上事比较多就很长时间没有更新。趁着今天有空再记录一下关于若依框架在我们开发过程中建表代码生成到增删改查功能的实现过程。闲话不多说我们开始。
- 建表
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='学生表';
- 代码生成
建完表之后我们登录若依管理系统,找到 系统工具→代码生成
点击导入按钮,选择我们刚才建的表student,点击确定。
只要在数据库新建过表之后都会在此查询到我们新建的表。
然后我们会在代码生成列表页看见学生表的记录
点击右侧的 预览 按钮,可以预览学生表增删改查业务功能的代码
从左到右依次是 与表结构对应的实体类;mapper接口;业务层;业务实现层;控制器;编写sql的xml;查询用的列表页面;添加页面;编辑页面。
点击右侧的 编辑 按钮,可以修改我们生成后代码的基本信息,比如实体的字段类型,在页面添加数据时这个字段是文本框还是下拉框,用这个字段查询时是模糊查询还是精确查询等。当然也可以不用编辑等代码生成之后直接在html中或者类中自己修改,我更推荐这种方式毕竟学到的才是自己的,这种可视化的方式终究还是太片面,代码实现才是硬道理。
好了,这里我们直接点击生成代码,选择路径就下载到本地了。
解压出来之后,我们看一下文件目录结构:
这个路径下存放的就是我们业务代码,控制器,实体类,mapper接口,业务类和业务实现类。
这个路径下存放的是mybatis的xml文件。
这个路径下存放的是我们的添加学生信息页面,编辑学生信息页面和查询学生的列表页面。
下面我们就把这些代码放到项目里。
- 代码整合
首先我们来看一下若依的项目目录结构:
模块名称 | 作用 |
---|---|
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刷新一下页面在左侧就可以看到我们新增的业务模块,学生信息管理了。
然后添加学生信息:
点击确定可以看到我们添加的学生信息。
点击编辑可以修改学生信息:
点击删除可以删除该学生信息:
好啦,这就实现了我们的需求,有问题欢迎在评论区提问~
更多推荐
若依框架入门之代码生成和增删改查
发布评论