整合框架 javaweb开发平台ssmy_m(与代码生成) java struts2 mybatis spring maven jquery

 

本页地址 http://blog.csdn.net/lpy3654321/article/details/31841573

 

 

         项目设想,在项目开发中,我们的开发人员大多数时间都在重复开发 同样的关键字,同样的语法. 但就在这样的情况下还会经常发生语法的错误,而且每个开发人员的代码风格不同. 其他人员阅读困难.新人的学习成本也会增加.

         这些问题会浪费很多时间,也会影响到开发人员的心情,和程序质量. 由这些问题我想的解决方法是 <代码生成工具> . 代码生成可以解决上述问题,加强约定. 对于普通CRUD的开发效率可以提升50%以上,错误率几乎为0 , 是项目系统的开发利器.

 

 

 

 

代码生成 代码生成工具

自己写的开发平台ssmy_m 与代码生成 ,struts2 mybatis spring maven jquery jqgrid jqueryui

有问题请留言,或QQ110146324

最下面有生成出来的代码

SVN上的代码基础功能已经都有了.美工没弄,有需要的自己改吧.

在/ssmy_m/src/main/webapp/common/include_com.jsp里引用.否则代码生成会有影响

 

DEMO:

ssmy开发框架SSMy http://ssmy_m.goodthink.wang
ssmy框架的代码生成工具

http://generate_m.goodthink.wang

generate_m生成的代码示例 https://download.csdn.net/download/lpy3654321/8438605


 

  • 开发平台

 

svn: 

https://m2.svnspot.com/lpy3654321.ssmy_m/

 

帐号:guest112233

密码:guest112233

也可以到 http://code.svnspot.com 注册

开发平台页面 :右键新窗口打开图片可以放大

整合框架 javaweb开发平台ssmy_m(与代码生成) java struts2 mybatis spring maven jquery_第1张图片

最下面有生成出来的代码

 




 

 

  • 代码生成

 

svn: 

https://m2.svnspot.com/lpy3654321.ssmy_generate_m/

 

帐号:guest112233

密码:guest112233

也可以到 http://code.svnspot.com 注册

 

 

通过过数据库表生成BEAN  action servce dao xml js jsp 

修改dbConfigs.xml文件,可配置生成的数据库(启动修改也可以,不需要重启)

http://127.0.0.1:8080/generate_m

下载zip后,解压,复制SRC 然后直接粘贴到myeclipse 项目里





	
		jdbc:mysql://localhost:3306/ssmy
		root
		root
		com.mysql.jdbc.Driver
	
	
	
		jdbc:oracle:thin:@localhost:1521:orcl
		ssmy
		ssmy
		oracle.jdbc.driver.OracleDriver
	
	
	
		jdbc:oracle:thin:@192.168.3.34:1521:orcl
		dsd_zjk
		dsd_zjk
		oracle.jdbc.driver.OracleDriver
	
	

 

代码生成页面:右键新窗口打开图片可以放大

整合框架 javaweb开发平台ssmy_m(与代码生成) java struts2 mybatis spring maven jquery_第2张图片

 

 

 

 

"项目基本WEB层命名空间"  和  "模块WEB层命名空间"   这两个input会决定Struts2的命名空间和JS的引用路径

 


	

		
		
		
		
			/framework/pageView/pageView.jsp
		

	

 

 

 

 

 

 

 

  • 代码目录:

 

整合框架 javaweb开发平台ssmy_m(与代码生成) java struts2 mybatis spring maven jquery_第3张图片

 

 

  • Zip包目录:

 

整合框架 javaweb开发平台ssmy_m(与代码生成) java struts2 mybatis spring maven jquery_第4张图片

 

 

  • HTML JS 代码

pageView.jsp:

<%@ page language="java" pageEncoding="UTF-8"%>



  
    记录网络访问量
    <%@ include file="/common/include_com.jsp"%>
    
    
    
	
  


	
查询
ss'})" size="40" />
ss'})" size="40" />

 

 

pageView.js:

$(function() {
	jQuery("#pageViewTable").initGrid({
		url : templateRoot+"/jsp/moduleWeb/pageView/pageView_pagelist.do",
		height:	480,
//colNames:[ "id" ,  "用户IP" ,  "记录会话ID" ,  "访问的模块" ,  "访问时间" ,  "访问数量"  ],	//如果colNames存在 则忽略colModel内的colName.
		colModel : [
{ colName : "id",		name : "id",		hidden : true,	id : true,	key:true,	index : "id",		width : 120,		align:"cente" } ,
{ colName : "用户IP",	name : "requestIp",	hidden : false,	id : false,	key:false,	index : "request_ip",width : 120,		align:"cente" } ,
{ colName : "记录会话ID",name : "session",	hidden : false,	id : false,	key:false,	index : "session",	width : 120,		align:"cente" } ,
{ colName : "访问的模块",name : "module",	hidden : false,	id : false,	key:false,	index : "module",	width : 120,		align:"cente" } ,
{ colName : "访问时间",	name : "visitTime",	hidden : false,	id : false,	key:false,	index : "visit_time",	width : 120,	align:"cente" } ,
{ colName : "访问数量",	name : "visitCount",hidden : false,	id : false,	key:false,	index : "visit_count",	width : 120,	align:"cente" } 
		]
	});
	
	$("#pageViewAddOrEditForm").initDialog({
		width : 580,
		height: 220,
		buttons : { // 为对话框添加按钮
			"保存" : function() {
				pageViewSave();
			},
			"取消" : function() {
				$("#pageViewAddOrEditForm").dialog("close");
			}
		}
	});
	
	$("#addB").click(function() {
		addDialog();
	});
	$("#editB").click(function() {
		updateDialog();
	});
	$("#deleteB").click(function() {
		deleteByids();
	});
	$("#searchB").click(function() {
		search();
	});
	$("#resetB").click(function() {
		$("#pageViewSearchForm").clearForm();
	});

    function addDialog() {
		$("#pageViewForm").clearForm();
		$("#pageViewAddOrEditForm")
			.dialog("option", "title", "添加记录网络访问量窗口")
			.dialog("open");
	}
	
	function updateDialog() {
		var pageViewGrid = $("#pageViewTable"); 
		if (!pageViewGrid.ifGridSelectedOne()) {
			alert("请选择一条记录!");
			return false;
		}
		$("#pageViewForm").clearForm();
		$("#pageViewAddOrEditForm")
			.dialog("option", "title", "修改记录网络访问量窗口")
			.dialog("open");
//		var rowData = pageViewGrid.getSelectedRows()[0];
//		$("#pageViewForm").loadValues(rowData);
	 	var ids = pageViewGrid.getSelectedIds();
		$("#pageViewForm").loadForm(templateRoot + "/jsp/moduleWeb/pageView/pageView_load.do",{id : ids[0]});
	}

	function deleteByids() {
		var pageViewGrid = $("#pageViewTable");
		if(!pageViewGrid.ifGridSelected()){
			alert('请选择要删除的记录!');
			return false;
		}
		var ids = pageViewGrid.getSelectedIds();
		if(confirm("确定要删除 "+ ids.length+" 条数据吗?")){
		 	var ids = pageViewGrid.getSelectedIds();
			$.ajax({
				url : templateRoot + "/jsp/moduleWeb/pageView/pageView_delete.do",
				data : {"ids" : ids},
				type : "post",	dataType : "json",	cache : false,	traditional :true,
				success : function(responseText, statusText, xhr, $form) {
					alert(responseText.message || "保存成功!");
			    	if(responseText.success){
						$("#pageViewTable").reloadGrid();
						$("#gridDialog").dialog("close");
			    	}
			    }
			});
		 };
	}

	function pageViewSave() {
		$("#pageViewForm").submitForm({
			url : templateRoot + "/jsp/moduleWeb/pageView/pageView_save.do",
			success:function(responseText, statusText, xhr, $form){
				alert(responseText.message || "保存成功!");
				if(responseText.success){
					$("#pageViewTable").reloadGrid();
					$("#pageViewAddOrEditForm").dialog("close");
				}
			},
			failure:function(data, options){
				alert(responseText.message || "保存失败!");
			}
		});
	}

	function search(){
		var params = $("#pageViewSearchForm").formToObject();
		$("#pageViewTable").searchGrid(params);  
	}

	function searchByParam(params){
	    $("#pageViewTable").searchGrid(params);  
	}
});

 

  • Java代码

 

action:PageViewAction.java

package com.liupengyuan.test.modulePage.pageView.action;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import com.liupengyuan.framework.util.JSONOuter;
import com.liupengyuan.framework.web.query.IGenericPage;
import com.liupengyuan.framework.web.struts2.BaseAction;
import com.liupengyuan.test.modulePage.pageView.model.PageView;
import com.liupengyuan.test.modulePage.pageView.service.PageViewService;

/**
 * @ClassName PageViewAction
 * @Description 记录网络访问量Action
 * @struts2配置文件名 struts-test-modulePage-pageView.xml
 * @spring3配置文件名 spring-test-modulePage-pageView.xml
 * @mybatis3配置文件名 mybatis-test-modulePage-pageView.xml
 * @表名 sys_page_view
 * @author generate
 * @date - 2015-02-10 15:33:10
 * @version V1.0 
 */
 
@SuppressWarnings("serial")
@Controller("pageViewAction")
@Scope("prototype")
public class PageViewAction extends BaseAction {
	@Autowired
	private PageViewService pageViewService;

	private PageView pageView;

	private String[] ids;

	/**
	 * 新增或者修改记录
	 */
	public void save() {
		pageViewService.saveOrUpdate(pageView);
		JSONOuter.writeBeanMsg(getPrintWriter(), pageView,"数据保存成功");
	}

	/**
	 * 加载数据对象
	 */
	public void load() {
		PageView pageViewObj = pageViewService.getById( pageView.getId()  );
		JSONOuter.writeBeanMsg(getPrintWriter(), pageViewObj);
	}

	/**
	 * 分页查询
	 */
	public void pagelist() {
		IGenericPage iPage = pageViewService.findPageBy(
				pageView,
				this.getPage(),
				this.getRows(),
				this.getSidx(),
				this.getSord());
		JSONOuter.writePage(getPrintWriter(), iPage);
	}

	/**
	 * 数据列表
	 */
	public void list() {
		List list = pageViewService.findListBy(
				pageView, this.getSidx(), this.getSord());
		JSONOuter.writeList(getPrintWriter(), list);
	}

	/**
	 * 批量删除记录
	 */
	public void delete() {
	String msg = "";
		if(ids!=null && ids.length>0){
			int s = pageViewService.deleteByIds(ids);
			msg = "成功删除 " + s + " 条记录!!!";
		}else{
			msg = "删除失败,请选择要删除的记录!!!";
		}
		JSONOuter.writeSuccessMsg(getPrintWriter(), msg);
	}

	/**
	 * 模型驱动,自动装配页面属性
	 */
	public PageView getModel() {
		pageView = new PageView();
		return pageView;
	}

	public void setIds(String[] ids) {
		this.ids = ids;
	}
}


 

 

service接口:PageViewService.java

package com.liupengyuan.test.modulePage.pageView.service;

import java.util.List;

import com.liupengyuan.test.modulePage.pageView.model.PageView;
import com.liupengyuan.framework.web.query.IGenericPage;

/**
 * @ClassName PageViewService
 * @Description 记录网络访问量服务接口
 * @struts2 配置文件名 struts-test-modulePage-pageView.xml
 * @spring3 配置文件名 spring-test-modulePage-pageView.xml
 * @mybatis3 配置文件名 mybatis-test-modulePage-pageView.xml
 * @表名 sys_page_view
 * @author generate
 * @date - 2015-02-10 15:33:10
 * @version V1.0 
 */
public interface PageViewService {
	/**
	 * 根据通过主键ID获取一个记录网络访问量实例
	 * @param id 记录网络访问量ID
	 * @return 记录网络访问量实例
	 */
	 
	public PageView getById(java.io.Serializable id);

	/**
	 * 批量删除
	 * @param ids 要删除的记录网络访问量ID集合
	 * @return 删除成功的记录生活
	 */
	public Integer deleteByIds(java.io.Serializable[] ids);
	public Integer deleteById(java.io.Serializable ids);

	/**
	 * 保持一个新增的记录网络访问量实例
	 * @param pageView 记录网络访问量
	 */
	public void save(PageView pageView);

	/**
	 * 保存一个修改的记录网络访问量实例
	 * @param pageView 记录网络访问量
	 */
	public void update(PageView pageView);

	/**
	 * 保存一个新增或修改的记录网络访问量实例
	 * @param pageView 记录网络访问量
	 */
	public void saveOrUpdate(PageView pageView);

	/**
	 * 分页查询
	 * @param param 查询参数
	 * @param currentPage 当前页码
	 * @param rows 每页记录行数
	 * @param sort 排序字段
	 * @param dir 排序方式、降序(desc)或升序(asc)
	 * @return 记录网络访问量实例集合
	 */
	public IGenericPage findPageBy(
			PageView param,
			int currentPage,
			int rows,
			String sort,
			String dir);

	/**
	 * 主要是配合分页查询返回总记录数
	 * @param param 主要查询参数封装在param中
	 * @return 记录数
	 */
	public Integer getCountByParam(PageView param);

	/**
	 * 不分页查询
	 * @param param 主要查询参数封装在param中
	 * @param sort 排序字段
	 * @param dir 排序方式、降序(desc)或升序(asc)
	 * @return 记录网络访问量实例集合
	 */
	public List findListBy(PageView param, String sort, String dir);

}

 

 

 

service实现类:PageViewServiceImpl.java

package com.liupengyuan.test.modulePage.pageView.service.impl;

import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.liupengyuan.framework.web.query.IGenericPage;

import com.liupengyuan.test.modulePage.pageView.dao.PageViewDao;
import com.liupengyuan.test.modulePage.pageView.model.PageView;
import com.liupengyuan.test.modulePage.pageView.service.PageViewService;


/**
 * @ClassName PageViewServiceImpl
 * @Description 记录网络访问量服务实现类
 * @struts2 配置文件名 struts-test-modulePage-pageView.xml
 * @spring3 配置文件名 spring-test-modulePage-pageView.xml
 * @mybatis3 配置文件名 mybatis-test-modulePage-pageView.xml
 * @表名 sys_page_view
 * @author generate
 * @date - 2015-02-10 15:33:10
 * @version V1.0 
 */
 
@Service("pageViewService")
public class PageViewServiceImpl implements PageViewService {
	@Autowired
	private PageViewDao pageViewDao;

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#getById(java.io.Serializable)
	 */
	public PageView getById(java.io.Serializable id) {
		return pageViewDao.getById(id);
	}

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#deleteByIds(java.io.Serializable[])
	 */
	public Integer deleteByIds(java.io.Serializable[] ids) {
		return pageViewDao.deleteByIds(ids);

	}
	
	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#deleteById(java.io.Serializable)
	 */
	public Integer deleteById(java.io.Serializable id) {
		return pageViewDao.deleteById(id);
	}

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#save(com.liupengyuan.test.modulePage.pageView.model.PageView)
	 */
	public void save(PageView ob) {
		pageViewDao.save(ob);
	}

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#update(com.liupengyuan.test.modulePage.pageView.model.PageView)
	 */
	public void update(PageView ob) {
		pageViewDao.update(ob);
	}

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#saveOrUpdate(com.liupengyuan.test.modulePage.pageView.model.PageView)
	 */
	public void saveOrUpdate(PageView ob) {
		if (ob != null) {
			// 如果ID不为空说明是修改的实例,为更新操作
			if (null != ob.getId() && StringUtils.isNotEmpty(String.valueOf(ob.getId()))) {
				pageViewDao.update(ob);
			} else {
				pageViewDao.save(ob);
			}
		}
	}

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#findPageBy(com.liupengyuan.test.modulePage.pageView.model.PageView, int, int, java.lang.String, java.lang.String)
	 */
	public IGenericPage findPageBy(
			PageView param,
			int currentPage,
			int rows,
			String sort,
			String dir) {
		return pageViewDao.findPageBy(
				wrapParams(param), currentPage, rows, sort, dir);
	}

	/*
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#getCountByParam(com.liupengyuan.test.modulePage.pageView.model.PageView)
	 */
	public Integer getCountByParam(PageView param) {
		return pageViewDao.getCountBy(wrapParams(param));
	}

	/**
	 * (non-Javadoc)
	 * @see com.liupengyuan.test.modulePage.pageView.service.PageViewService#findListBy(com.liupengyuan.test.modulePage.pageView.PageView, java.lang.String, java.lang.String)
	 */
	public List findListBy(
			PageView param,
			String sort,
			String dir) {
		return pageViewDao.findListBy(
				wrapParams(param), sort, dir);
	}

	/**
	 * 为模糊查询前后加装%%
	 */
	private PageView wrapParams(PageView param) {
		if(param != null){
			if(StringUtils.isNotEmpty(param.getRequestIp())){
				param.setRequestIp("%"+param.getRequestIp()+"%");
			}
			if(StringUtils.isNotEmpty(param.getSession())){
				param.setSession("%"+param.getSession()+"%");
			}
			if(StringUtils.isNotEmpty(param.getModule())){
				param.setModule("%"+param.getModule()+"%");
			}
		}
		return param;
	}
}


DAO接口:PageViewDao.java

package com.liupengyuan.test.modulePage.pageView.dao;

import com.liupengyuan.framework.dao.IBaseGenericDAO;
import com.liupengyuan.test.modulePage.pageView.model.PageView;

/**
 * @ClassName PageViewDao
 * @Description 记录网络访问量DAO接口
 * @struts2 配置文件名 struts-test-modulePage-pageView.xml
 * @spring3 配置文件名 spring-test-modulePage-pageView.xml
 * @mybatis3 配置文件名 mybatis-test-modulePage-pageView.xml
 * @表名 sys_page_view
 * @author generate
 * @date - 2015-02-10 15:33:10
 * @version V1.0 
 */
public interface PageViewDao extends IBaseGenericDAO {

}

 

 

 

DAO实现类:PageViewDaoImpl.java

package com.liupengyuan.test.modulePage.pageView.dao.impl;

import org.springframework.stereotype.Repository;
import com.liupengyuan.framework.dao.MybatisBaseGenericDAOImpl;
import com.liupengyuan.framework.util.GeneratorKey;
import com.liupengyuan.test.modulePage.pageView.dao.PageViewDao;
import com.liupengyuan.test.modulePage.pageView.model.PageView;


/**
 * @ClassName PageViewDaoImpl
 * @Description 记录网络访问量DAO实现类 
 * @struts2 配置文件名 struts-test-modulePage-pageView.xml
 * @spring3 配置文件名 spring-test-modulePage-pageView.xml
 * @mybatis3 配置文件名 mybatis-test-modulePage-pageView.xml
 * @表名 sys_page_view
 * @author generate
 * @date - 2015-02-10 15:33:10
 * @version V1.0 
 */
@Repository("pageViewDao")
public class PageViewDaoImpl
extends MybatisBaseGenericDAOImpl
implements PageViewDao {
	/**
	 * 生成UUID主键值。
	 * @param ob 记录网络访问量
	 */
	public void generateId(PageView ob) {
		//id
		if(null == ob.getId() || ob.getId().length() == 0){
			ob.setId(GeneratorKey.genaraId());
		}
	}
}

 

 

 

model:PageView.java

package com.liupengyuan.test.modulePage.pageView.model;

/**
 * @ClassName PageView
 * @Description 记录网络访问量 实体(领域)对象
 * @struts2 配置文件名 struts-test-modulePage-pageView.xml
 * @spring3 配置文件名 spring-test-modulePage-pageView.xml
 * @mybatis3 配置文件名 mybatis-test-modulePage-pageView.xml
 * @表名 sys_page_view
 * @author generate
 * @date - 2015-02-10 15:33:10
 * @version V1.0 
 */
public class PageView implements java.io.Serializable {

	/** id */
	private java.lang.String id;

	/**
	 * 获取id
	 * @return id
	 */
	public java.lang.String getId() {
		return this.id;
	}
	/**
	 * 设置id
	 */
	public void setId(java.lang.String id){
		this.id = id;
	}
	
	/** 用户IP */
	private java.lang.String requestIp;

	/**
	 * 获取用户IP
	 * @return 用户IP
	 */
	public java.lang.String getRequestIp() {
		return this.requestIp;
	}
	/**
	 * 设置用户IP
	 */
	public void setRequestIp(java.lang.String requestIp){
		this.requestIp = requestIp;
	}
	
	/** 记录会话ID */
	private java.lang.String session;

	/**
	 * 获取记录会话ID
	 * @return 记录会话ID
	 */
	public java.lang.String getSession() {
		return this.session;
	}
	/**
	 * 设置记录会话ID
	 */
	public void setSession(java.lang.String session){
		this.session = session;
	}
	
	/** 访问的模块 */
	private java.lang.String module;

	/**
	 * 获取访问的模块
	 * @return 访问的模块
	 */
	public java.lang.String getModule() {
		return this.module;
	}
	/**
	 * 设置访问的模块
	 */
	public void setModule(java.lang.String module){
		this.module = module;
	}
	
	/** 访问时间 */
	private java.util.Date visitTime;

	/**
	 * 获取访问时间
	 * @return 访问时间
	 */
	public java.util.Date getVisitTime() {
		return this.visitTime;
	}
	/**
	 * 设置访问时间
	 */
	public void setVisitTime(java.util.Date visitTime){
		this.visitTime = visitTime;
	}
	
	/** 访问数量 */
	private java.lang.Integer visitCount;

	/**
	 * 获取访问数量
	 * @return 访问数量
	 */
	public java.lang.Integer getVisitCount() {
		return this.visitCount;
	}
	/**
	 * 设置访问数量
	 */
	public void setVisitCount(java.lang.Integer visitCount){
		this.visitCount = visitCount;
	}
}

 

 

  • XML 配置文件

 

mybatis文件:mybatis-test-modulePage-pageView.xml




	
		
		
		
		
		
		
		
		
		
		
		
		
	
	
	
		sys_page_view 
	

	
	
        	id ,
        	request_ip ,
        	session ,
        	module ,
        	visit_time ,
        	visit_count 
	

	
	
		id = #{id} 
	
	
	
		SELECT
			
		FROM
			 p
	

	
		
			and p.request_ip like #{requestIp} 
			and p.session like #{session} 
			and p.module like #{module} 
		
	

	

	

	

	

	
		insert into
			
		(
			
		)
		values
		(
			#{id, jdbcType=VARCHAR} ,
			#{requestIp, jdbcType=VARCHAR} ,
			#{session, jdbcType=VARCHAR} ,
			#{module, jdbcType=VARCHAR} ,
			#{visitTime, jdbcType=TIMESTAMP} ,
			#{visitCount, jdbcType=INTEGER} 
		)
	
	
		update
			
		set
			request_ip = #{requestIp, jdbcType=VARCHAR} ,
			session = #{session, jdbcType=VARCHAR} ,
			module = #{module, jdbcType=VARCHAR} ,
			visit_time = #{visitTime, jdbcType=TIMESTAMP} ,
			visit_count = #{visitCount, jdbcType=INTEGER} 
		where 
	

	
		delete from  
		where id in #{item}
	

	
		delete from  where 
	


 

spring配置文件:spring-test-modulePage-pageView.xml



	


Struts2配置文件:struts-test-modulePage-pageView.xml




	

		
		
		
			/jsp/moduleWeb/pageView/pageView.jsp
		

	

 

 

 

 

 

 

 

结束...

 

 

你可能感兴趣的:(spring,JQGrid,自写框架,Struts2,代码生成,开发平台,ssmy_m)