前言铺垫不多说

(1)Ruoyi这个平台不错;如果你觉得你比Ruoyi的作者牛逼,你就不用看我这个文章了,你可以走了,因为我自认为比Ruoyi的作者要烂;

(2)必须已经成功搭建Ruoyi,并能在自己机器上运行正常。如果没有搭建完成,我的博客里有,你自己找怎么搭建;

正文开始

我利用 Ruoyi 现有平台和他的自动生成代码工具,做了一个简单的 CURD ,效果如下图

没做修饰,直接用平台代码做的前台画面,所以有NULL之类,也正常;有关这个null后续我会解释;

步骤:

(1)最早我是用Eclipse跑的Ruoyi,跑起来了,也正常运行了,所以我想用股票代码表为例,创建一个简单的增删改查

用它的代码生成功能;

大家注意我的表名称

注意包的路径

原本我以为用 用Maven创建一个新的Maven Module ,直接挂到总的 POM.XML文件中就好了,其实没有那么简单:

(1)POM.XML文件的修改

我是用Eclipse创建的 Maven Module ,名字就叫 ruoyi-stock

项目总的POM.XML要添加我的模块

(2)原来的 ruoyi-admin 也要做一个依赖,把我的模块加入;

(3)把JAVA文件放入 ruoyi-admin 对应的JAVA类下,一定要注意路径:

需要强调的是,按照我这种配置,一定要:

把Controller类放在ruoyi-admin中,尽量上按照 ruoyi-admin 的路径来,都放在 ruoyi-admin 下面的 web下(注意下图的路径),否则项目启动会找不到

对应的HTML文件,我也没有做任何修改,直接也放到 ruoyi-admin 对应的资源下面了,

对相应JAVA中的包的路径,就不用我说了,手动改下吧。

要强调的是 要在controller类中,加入@Component

要在service的实现类中加入@service

(4) 我自己后建的 ruoyi-stock ,除了POM.XML 就剩一个 StockCodeMapper.xml文件了

要注意:这个XML文件中,映射的类的路径,要改成对应 ruoyi-admin 中的类的路径及类名称(因为JAVA对应的类路径不在与生成时一样了)

总结:

(1)因为不太了解这个Ruoyi的架构,以为会按照Maven模块启动的依赖关系来,把Controller放在ruoyi-stock文件中,是不会被启动的;

原因很简单:SpringBoot按照文件夹的路径来;不会跨文件夹;

这样让我疑惑的是,那么 Maven 仅仅是起到了包引用的作用,其他不管?

(2)因为生成的Service类,没有@Service注释,Controller类没有那个  @Component 注释,导致无法被注入;

同样还有一个疑问,就是 别的对应的业务的 service类、service实现类、Domain类,为什么可以放在自己的文件夹中?

总之,我还算弄出来了,至少给自己一个交代了。

先记录到这吧。

扩展:

很早之前,我自己为了接私活方便,自己做了一个基于Spring+Struts2+IBatis框架的,自动生成所有代码脚本的一个小工具;

最早提出这个思路的哥们,他和我既是高中同学,又是公司同事,不过他后来辞职离开了,不久我也离开了;

我接着他最早的思路,做了这个自动生成工具,恰好自己又接了私活,一边做私活,一边对这个工具进行迭代开发,的确为我省了不少时间;

后来我再接私活时,确定大概业务后,我直接就用那个工具把所有代码生成一遍,所有的增删改查基本功能就弄好了,然后再到具体页面中勾连具体的功能;

相对来说,大大节省了时间;

所以,看到Ruoyi目前这些个功能,还是让我兴奋了一把;

慢慢弄吧,反正我不着急;

后记:

因为 Ruoyi 的作者,在做自动生成类的时候,没有考虑直接从数据库出,而是用自定义的表;

我这里临时记录下,我们通过系统手工生成代码时,不仅仅需要手工插入 gen_table     ,还需要插入数据到 gen_table_column 中

否则系统无法识别,为了方便自己和大家,我把插入用的SQL语句临时记录下来,回头我自己再优化这个功能吧。

数据类型,我自己都调成String的,各位自己根据自己的情况,可以在生成后,自己再调整吧;

毕竟生成的代码一般不会完美符合实际生产需求,大家也就是利用生成功能,尽量多减少重复劳动吧

 INSERT INTO gen_table_column ( table_id, column_name, column_comment, column_type,
java_type, java_field, is_pk, is_increment, is_required, is_insert,
is_edit, is_list, is_query, query_type, html_type, dict_type, sort, create_by,
create_time, update_by, update_time)
SELECT '', column_name, column_comment, column_type,
'String' AS java_type, column_name AS java_field, CASE WHEN is_nullable ='NO' THEN '' ELSE '' END AS is_pk,
'' AS is_increment,'' AS is_required,'' AS is_insert,
'' AS is_edit, '' AS is_list, '' AS is_query,'' AS query_type, 'input' AS html_type,'' AS dict_type, '' AS sort,'admin' create_by,
SYSDATE() AS create_time, 'admin' AS update_by, SYSDATE() AS update_time FROM information_schema.columns
WHERE table_schema = 'ry' #表所在数据库
AND table_name = 'stock_bigdeal_analyse' ;

代码仅供参考

欢迎留言;

利用 Ruoyi 开发自己的业务管理系统__测试结构完成的更多相关文章

  1. 利用UML语言建模--以图书馆管理系统为例

    一.基本信息 标题:利用UML语言建模--以图书馆管理系统为例 时间:2016 出版源:内蒙古科技与经济 领域分类:UML:RFID:图书馆:模型: 二.研究背景 问题定义:建立图书馆管理系统 难点: ...

  2. [原创].NET 业务框架开发实战之八 业务层Mapping的选择策略

    原文:[原创].NET 业务框架开发实战之八 业务层Mapping的选择策略 .NET 业务框架开发实战之八 业务层Mapping的选择策略 前言:在上一篇文章中提到了mapping,感觉很像在重新实 ...

  3. [原创].NET 业务框架开发实战之七 业务层初步构想

    原文:[原创].NET 业务框架开发实战之七 业务层初步构想 .NET 业务框架开发实战之七 业务层初步构想 前言:本篇主要讲述如何把DAL和BLL衔接起来. 本篇议题如下: 1.       DAL ...

  4. 在后台业务管理系统中使用Autofac实现微信接口的处理

    在后台业务管理系统中使用Autofac实现微信接口的处理,我们只需要把相关使用到的DLL放到BIN目录里面即可,通过IOC控制反转方式实现对接口的调用.在实现在业务系统里面,我们本身程序可能已经依赖了 ...

  5. Spring Boot 2.x 综合示例-整合thymeleaf、mybatis、shiro、logging、cache开发一个文章发布管理系统

    一.概述 经过HelloWorld示例(Spring Boot 2.x 快速入门(上)HelloWorld示例)( Spring Boot 2.x 快速入门(下)HelloWorld示例详解)两篇的学 ...

  6. 利用NuSoap开发WebService(PHP)

    利用NuSoap开发WebService(PHP) 分类: php 2010-09-08 12:00 5005人阅读 评论(1) 收藏 举报 webservicephpsoapstringencodi ...

  7. 利用JAX-WS 开发web服务

    近日在学习Rogers Candenhead的第六版的<Java 入门经典>第22章.利用JAX-WS 开发web服务,简略总结而言主要包括以下几个步骤: 1.定义服务端点接口类: 主要就 ...

  8. 利用WinDriver开发PCI设备驱动程序

    摘要 WinDriver是Jungo公司出版的一个设备驱动程序开发组件,它可以大大加速PCI设备驱动程序的开发.作者在实际的项目中采用了WinDriver来开发设备驱动程序,取得了相当好的运行效果.从 ...

  9. 【高德API】如何利用MapKit开发全英文检索的iOS地图

    原文:[高德API]如何利用MapKit开发全英文检索的iOS地图 制作全英文地图的展示并不困难,但是要制作全英文的数据检索列表,全英文的信息窗口,你就没办法了吧.告诉你,我有妙招!使用iOS自带的M ...

随机推荐

  1. Educational Codeforces Round 69 (Rated for Div. 2)D(DP,思维)

    #include<bits/stdc++.h>using namespace std;int a[300007];long long sum[300007],tmp[300007],mx[ ...

  2. while语句及批量创建用户!

    1.while 循环语句的作用:重复测试某个条件,只要条件成立则反复执行2.while 语句结构while 条件测试操作do命令序列done ============================= ...

  3. 设计模式课程 设计模式精讲 16-2,3 代理模式Coding-静态代理-1

    1 代码演练 1.1 代码演练1(静态代理之分库操作) 1 代码演练 1.1 代码演练1(静态代理之分库操作) 需求: 订单管理,模拟前置后置方法,模拟分库管理 重点: 重点看订单静态代理,动态数据源 ...

  4. Java实现图片内容无损任意角度旋转

    转自:http://blog.csdn.net/heliang7/article/details/7309394 主要问题是如何在图片做旋转后计算出新图片的长宽. 在java 2d和基本math库的帮 ...

  5. Django线上项目后台admin不显示问题

    记一次django项目的线上部署错误,django+nginx 一.问题描述 在将django项目部署到阿里云(nginx作为web服务器)上之后发现出现后台管理界面admin不显示样式. 二.问题分 ...

  6. Linux之系统优化配置

    Linux系统优化配置 更新国内镜像源 国内速度快的常用更新源如下: ​ http://mirrors.sohu.com ​ http://mirrors.163.com [root@greymous ...

  7. 吴裕雄--天生自然HADOOP操作实验学习笔记:pig简介

    实验目的 了解pig的该概念和原理 了解pig的思想和用途 了解pig与hadoop的关系 实验原理 1.Pig 相比Java的MapReduce API,Pig为大型数据集的处理提供了更高层次的抽象 ...

  8. 【拒绝挂分】盘点蒟蒻ghy的各种sb错误

    1.m与n打反(打错) NOIPd2t2 50变15爽不爽啊.jpg 某次信心赛四道sb题里面最sb的一道 sort里面的m打成n 100变40爽不爽啊.jpg(还有40我真的谢谢您了 2.没开lon ...

  9. JavaScript函数用法

    本文我们来学习下js函数的一些用法. 上图的要点为: 1.函数具有属性,如foo.length和foo.name. 2.arguments是类数组,arguments.length为实参的数目. 3. ...

  10. 阿里云服务器win2003下iis整合tomcat共享80端口

    阿里云服务器win2003下iis整合tomcat共享80端口 很多机器都用tomcat跟IIS部署不同网站.最近买了阿里云的服务器.于是也想玩一下.网上百度了很多方法.但是都有缺陷说的不是很清楚.通 ...