ssm,springboot代码生成器——添加vue.js支持,mac系统支持


  距离上次更新已经过去一周时间,最近公司事比较多,这两天抽出空来又对代码生成器做了进一步的完善,本次更新主要添加了mac系统的支持,因为有不少朋友问有没有mac版本的。。同时添加了对vue.js的支持,vue现在也是前台比较火的框架之一,这一点还是很有必要的,同时修复了数据库连接失败会卡死的bug,让我们来看一下更新的具体内容吧。

mac系统支持

  mac系统不像window可以运行exe程序,jar包打包成app又过于繁琐,所以在这里采用的是把mac版的jdk以及入口程序的jar包存放在同一目录,然后新建command文件,在文件中通过shell命令来执行jar包程序,目录如下:

  coreLib里放的就是jre以及相关的jar包文件了,run.command的内容如下所示:

bash $(cd `dirname $0`; pwd)/coreLib/run.sh

  内容也很容易理解,执行当前目录下的coreLib下的run.sh脚本
  看一下run.sh的内容,如下:

#!/bin/bash
$(cd `dirname $0`; pwd)/bin/java -jar $(cd `dirname $0`; pwd)/lib/runCode.jar

  这是真正需要执行的jar包,通过java -jar命令就可以去执行runCode.jar,然后代码生成器就可以运行起来了,因为java本身是跨平台的语言,所以代码跟windows基本没什么不同,唯一有区别的就是路径了,这里我把mac生成代码的路径定死在了桌面上,因为别的路径基本都会报权限不够的错误,mac上的效果如下,跟window基本没有区别:

vue.js支持

  vue.js是目前比较火爆的一个js框架,它的核心理念是mvvm,脱离了传统的dom操作,而是通过数据驱动的方式来进行页面的渲染,目前已经被越来越多的网站采用,相比传统的dom操作,vue的数据驱动更加高效,简洁,但这也不可否认dom的重要性,jquery便是典型的代表,相信很多人第一款接触的js框架便是jquery,他对html的dom操作确实强大,但也同时会带来代码冗余混乱的问题,二者各有利弊,具体情况需要具体分析。

  vue比较重要的一个概念便是它的生命周期,如果你想进行dom相关的操作,那么需要在它的mounted周期来执行相应的方法,具体大家可以自行参阅vue教程,通过实例的练习应该很快就可以上手。

  另外值得一提的是,如果网页加载慢或者数据查询过慢,页面上会出现vue的{{}}表达式,影响美观,如果想要避免此种现象的发生需要在被绑定的容器上加上v-cloak属性,如下:

	 <style>
        [v-cloak] {
            display: none;
        }
     </style>
     
	<html>
		<body>
			 <div class="app" v-cloak>
        		{{msg}}
   			 </div>
		</body>
	</html>
   
    <script>
    	var vm = new Vue({
    		el : '#app',
			data : {
				msg : 'msg'
			},
		});
    </script>

  这样如果msg迟迟加载不出来,也不会显示花括号。

运行效果及代码解析

  让我们看一下本次更新的运行效果,在这里我们配置一个单表模块,一个多表模块来生成对应的代码,首先在主界面配置相关信息,还是以我本地的medicine数据库为例,如下:

  然后简单的对medicinemsg表做一下配置:

  确定后关闭窗口然后去高级配置中配置一个多表查询的模块:

  配置完毕回到主界面生成代码:

  在这里我们看一下生成的前台vue部分的代码,这里以表格显示的vue为例:

var tableVue = new Vue({
			el : '#newsContent',
			data : {
				result : []
			},
			//created:
			mounted : function() {
				$crud.getDataByCurrentPage();
			},
			methods : {

				upMsg : function(id, path) {

					$z.ajaxStrAndJson({
						url : basePath + path,
						data : {
							id : id
						},
						success : function(data) {
							upVue.id = data[0]["id"];
							upVue.name = data[0]["name"];
							upVue.price = data[0]["price"];
							$('#updateModal').modal('show');

						}
					});
				},
				delMsg : function(id, path) {
					if (confirm("确定删除吗?")) {
						$z.ajaxStrAndJson({
							url : basePath + path,
							data : {
								id : id
							},
							success : function(data) {
								$crud.getDataByCurrentPage();
							}
						});
					}
				}
			}
		});
		
		var upVue = new Vue({
			el : "#updateModal",
			data : {
				id : '',
				name : '',
				price : ''
			},
			methods : {
				confirmUp : function() {
					$z.ajaxStrAndJson({
						url : basePath + "/" + controllerPrefix + "/update",
						data : {
							id : this.id,
							name : this.name,
							price : this.price
						},
						success : function(data) {
							alert("更新成功!");
							$('#updateModal').modal('hide');
							$crud.getDataByCurrentPage();
						}
					});
				}
			}
		});

  其中tableVue在mounted生命周期执行了ajax请求,$crud.getDataByCurrentPage方法会把获取的数据赋值给tableVue的result,然后在对应绑定的table中,使用v-for属性循环遍历result,来实现元素的输出,table部分代码如下:

<!-- 查询结果表格显示区域 -->
<div id="newsContent" class="table-responsive" style="overflow: scroll;" v-cloak>
	<table class="table text-nowrap">
		<tr>
				<th>操作</th>
				<th>name</th>
				<th>price<a href='#' onclick='$crud.setAscColumn(this,"price")'></a>&nbsp;<a href='#' onclick='$crud.setDescColumn(this,"price")'></a></th>
		</tr>
		<tbody id="dataTable">
			<tr v-for="data in result">
				<td>
					 <button type="button" class="btn btn-info btn-sm" @click="upMsg(data.id,'/medicinemsg/select')">更新</button>&nbsp;
					 <button type="button" class="btn btn-danger btn-sm" @click="delMsg(data.id,'/medicinemsg/delete')">删除</button>&nbsp;
				</td>
				<td>{{data.name}}</td>
				<td>{{data.price}}</td>
			</tr>
		</tbody>
	</table>
	<div id="pageID" class="page_div"></div>
</div>
<!-- 查询结果表格显示区域 end-->

  启动项目,可以正常运行,没有问题,这里有数据空白项是因为left join的缘故。


至此,vue的整合就到此结束了。

现在代码生成器分为了mac和windows两个版本,我自己搭建了一个文件服务器,感兴趣的朋友可以点击下方链接自行下载

最新代码生成器下载链接

csdn下载链接

感谢您的观看!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot是一款以简化开发的方式来构建Java应用程序的框架,它提供了许多开箱即用的特性和便捷的配置方式。Thymeleaf是一个用于处理服务器端渲染的模板引擎,可以将动态数据注入到HTML模板中。SSM是指Spring+SpringMVC+MyBatis的组合,是一套经典的Java Web开发框架。Vue.js是一款用于构建用户界面的渐进式框架,可以实现前端的组件化开发和数据驱动视图更新。 要实现简单的增删改查功能,可以按照以下步骤进行: 1. 首先,使用SpringBoot创建一个新的项目,并引入Thymeleaf、SSMVue.js相关的依赖。 2. 创建一个数据库表,用于存储需要进行增删改查操作的数据。可以使用MySQL等关系型数据库。 3. 在SpringBoot的配置文件中配置数据库连接信息,并创建对应的数据源和事务管理器。 4. 创建实体类,在实体类中定义需要操作的属性和对应的数据字段。 5. 创建MyBatis的Mapper接口和对应的XML文件,用于定义数据库操作的SQL语句。 6. 在SpringBoot的配置类中配置MyBatis相关的扫描和注入。 7. 创建控制器类,处理前端请求。 8. 在控制器类中定义增删改查的方法,并调用对应的Mapper接口执行数据库操作。 9. 创建前端页面,使用Vue.js来实现数据的展示和交互。 10. 在前端页面中绑定相应的事件和请求,通过HTTP请求调用后端控制器的方法。 11. 在页面中显示查询的数据,并提供相应的操作按钮,通过绑定事件来实现增删改的功能。 12. 启动项目,通过浏览器访问前端页面,即可进行增删改查的操作。 以上是一个基本的步骤,具体的实现会涉及到很多细节,需要根据具体的需求和技术选型来进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值