您的位置:首页 > Web前端 > JQuery

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

2014-06-17 23:09 1091 查看
本页地址 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主页 http://liupengyuan.xicp.cn
ssmy开发框架SSMy http://liupengyuan.xicp.cn/ssmy_m/
ssmy框架的代码生成工具 http://liupengyuan.xicp.cn/generate_m/
generate_m生成的代码示例 http://download.csdn.net/detail/lpy3654321/8438605
开发平台

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

帐号:guest112233

密码:guest112233

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

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



最下面有生成出来的代码

代码生成

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

帐号:guest112233

密码:guest112233

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

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

修改dbConfigs.xml文件,可配置生成的数据库(启动修改也可以,不需要重启)
http://127.0.0.1:8080/generate_m
下载zip后,解压,复制SRC 然后直接粘贴到myeclipse 项目里

<?xml version="1.0" encoding="UTF-8"?>
<!-- 用于生成数据库的配置文件 -->
<dbConfigs>

	<dbConfig id="localMysql"><!-- 配置名称 -->
		<url>jdbc:mysql://localhost:3306/ssmy</url><!-- url -->
		<username>root</username><!-- </username> -->
		<password>root</password><!-- password -->
		<driverClass>com.mysql.jdbc.Driver</driverClass><!-- driverClass -->
	</dbConfig>
	
	<dbConfig id="localOracle">
		<url>jdbc:oracle:thin:@localhost:1521:orcl</url>
		<username>ssmy</username>
		<password>ssmy</password>
		<driverClass>oracle.jdbc.driver.OracleDriver</driverClass>
	</dbConfig>
	
	<dbConfig id="dsd_zjk">
		<url>jdbc:oracle:thin:@192.168.3.34:1521:orcl</url>
		<username>dsd_zjk</username>
		<password>dsd_zjk</password>
		<driverClass>oracle.jdbc.driver.OracleDriver</driverClass>
	</dbConfig>
	
</dbConfigs>


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







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

<struts>
	<package name="com.liupengyuan.framework.pageView.action.PageViewAction" extends="struts-default" namespace="/framework/pageView">

		<action name="pageView_*"
				class="pageViewAction"
				method="{1}">
		</action>
		
		<action name="pageView">
			<result>/framework/pageView/pageView.jsp</result>
		</action>

	</package>
</struts>


代码目录:



Zip包目录:



HTML JS 代码

pageView.jsp:
<%@ page language="java" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <title>记录网络访问量</title>
    <%@ include file="/common/include_com.jsp"%>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script src="${pageContext.request.contextPath}/jsp/moduleWeb/pageView/js/pageView.js"></script>
    <!--<script src="js/pageView.js"></script>-->
	
  </head>
<body>

	<div class="ui-layout-north">
		<div class="navbar"><font size="2" > 当前操作:记录网络访问量</font></div>
	</div>
	
	<div class="ui-layout-center">
<!--	<div class="title_level1">查询</div> -->
		<div class="formarea">
			<form id="pageViewSearchForm">
			<fieldset>
			<legend style="margin-left: 10px;">查询</legend>

				<table>
					<tr>
						<td style="width:150px;" align="right" ><label for="requestIp">用户IP:</label></td>
						<td>
							<div class="input">
								<input type="text" name="requestIp"  size="40"  />
							</div>
						</td>
						<td style="width:150px;" align="right" ><label for="session">记录会话ID:</label></td>
						<td>
							<div class="input">
								<input type="text" name="session"  size="40"  />
							</div>
						</td>
					</tr>
					<tr>
						<td style="width:150px;" align="right" ><label for="module">访问的模块:</label></td>
						<td>
							<div class="input">
								<input type="text" name="module"  size="40"  />
							</div>
						</td>
						<td style="width:150px;" align="right" ><label for="visitTime">访问时间:</label></td>
						<td>
							<div class="input">
								<input type="text" name="visitTime" class="Wdate" onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" size="40"  />
							</div>
						</td>
					</tr>
					<tr>
						<td style="width:150px;" align="right" ><label for="visitCount">访问数量:</label></td>
						<td>
							<div class="input">
								<input type="text" name="visitCount"  size="40"  />
							</div>
						</td>
					</tr>
				</table>
			</fieldset>
			</form>
			<div class="buttons">
				<button id="searchB">查询</button>
				<button id="resetB">清空</button>
			</div>
		</div>		
		<div class="toolbar">
			<button id="addB">增加</button>
			<button id="editB">修改</button>
			<button id="deleteB">删除</button>
		</div>
		<table id="pageViewTable"></table>
	</div>
	<div id="pageViewAddOrEditForm">
		<div class="formarea">
			<form id="pageViewForm" type="ajax">

				<input type="hidden" id="id" name="id"/>
				<table>
					<tr>
						<td style="width:70px;" align="right" ><label for="requestIp">用户IP:</label></td>
						<td>
							<div class="input">
								<input type="text" id="requestIp" name="requestIp"  class="validate[maxSize[50] ] "  size="40" />
							</div>
						</td>
					</tr>
					<tr>
						<td style="width:70px;" align="right" ><label for="session">记录会话ID:</label></td>
						<td>
							<div class="input">
								<input type="text" id="session" name="session"  class="validate[maxSize[100] ] "  size="40" />
							</div>
						</td>
					</tr>
					<tr>
						<td style="width:70px;" align="right" ><label for="module">访问的模块:</label></td>
						<td>
							<div class="input">
								<input type="text" id="module" name="module"  class="validate[maxSize[100] ] "  size="40" />
							</div>
						</td>
					</tr>
					<tr>
						<td style="width:70px;" align="right" ><label for="visitTime">访问时间:</label></td>
						<td>
							<div class="input">
								<input type="text" id="visitTime" name="visitTime"  class="Wdate " onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" size="40" />
							</div>
						</td>
					</tr>
					<tr>
						<td style="width:70px;" align="right" ><label for="visitCount">访问数量:</label></td>
						<td>
							<div class="input">
								<input type="text" id="visitCount" name="visitCount"  class="validate[maxSize[10] ] "  size="40" />
							</div>
						</td>
					</tr>
				</table>

			</form>
		</div>
	</div>
</body>
</html>


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<PageView> {
	@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<PageView> iPage = pageViewService.findPageBy(
				pageView,
				this.getPage(),
				this.getRows(),
				this.getSidx(),
				this.getSord());
		JSONOuter.writePage(getPrintWriter(), iPage);
	}

	/**
	 * 数据列表
	 */
	public void list() {
		List<PageView> 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<PageView> 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<PageView> 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<PageView> 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<PageView> 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<PageView> {

}


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<PageView>
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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liupengyuan.test.modulePage.pageView.model.PageView">
	<resultMap id="pageViewResultMap" type="com.liupengyuan.test.modulePage.pageView.model.PageView">
		<!-- id -->
		<result column="id" property="id" jdbcType="VARCHAR" />
		<!-- 用户IP -->
		<result column="request_ip" property="requestIp" jdbcType="VARCHAR" />
		<!-- 记录会话ID -->
		<result column="session" property="session" jdbcType="VARCHAR" />
		<!-- 访问的模块 -->
		<result column="module" property="module" jdbcType="VARCHAR" />
		<!-- 访问时间 -->
		<result column="visit_time" property="visitTime" jdbcType="TIMESTAMP" />
		<!-- 访问数量 -->
		<result column="visit_count" property="visitCount" jdbcType="INTEGER" />
	</resultMap>
	<!-- 表名 -->
	<sql id="tableNameSql">
		sys_page_view 
	</sql>

	<!-- 用于select查询、insert的公用抽取的列 -->
	<sql id="commonSelectColumnsPrefix">
        	id ,
        	request_ip ,
        	session ,
        	module ,
        	visit_time ,
        	visit_count 
	</sql>

	<!-- 按主键查找条件语句 -->
	<sql id="conditionOnlyId">
		id = #{id} 
	</sql>
	
	<sql id="mainSql">
		SELECT
			<include refid="commonSelectColumnsPrefix"/>
		FROM
			<include refid="tableNameSql"/> p
	</sql>

	<sql id="varSql">
		<where>
			<if test="requestIp!=null and requestIp!=''">and p.request_ip like #{requestIp} </if>
			<if test="session!=null and session!=''">and p.session like #{session} </if>
			<if test="module!=null and module!=''">and p.module like #{module} </if>
		</where>
	</sql>

	<select id="findPageBy" parameterType="java.util.Map" resultMap="pageViewResultMap">
 		<include refid="mainSql"/>
 		<include refid="varSql"/>
		<if test="SORT != null and SORT != ''">
 			order by ${SORT}
 			<if test="DIR != null and DIR != ''">
 				 ${DIR}
 			</if>
 		</if>
	</select>

	<select id="getById" parameterType="String" resultMap="pageViewResultMap">
		<include refid="mainSql"/>
		where <include refid="conditionOnlyId"/>
	</select>

	<select id="getCountBy" parameterType="java.util.Map" resultType="INTEGER">
		SELECT
			COUNT(*) AS C
		FROM
			<include refid="tableNameSql"/> p
		<include refid="varSql"/>
	</select>

	<select id="findListBy" parameterType="java.util.Map" resultMap="pageViewResultMap">
		<include refid="mainSql"/>
		<include refid="varSql"/>
		<if test="SORT != null and SORT != ''">
 			order by ${SORT}
 			<if test="DIR != null and DIR != ''">
 				 ${DIR}
 			</if>
 		</if>
	</select>

	<insert id="save" parameterType="com.liupengyuan.test.modulePage.pageView.model.PageView">
		insert into
			<include refid="tableNameSql"/>
		(
			<include refid="commonSelectColumnsPrefix"/>
		)
		values
		(
			#{id, jdbcType=VARCHAR} ,
			#{requestIp, jdbcType=VARCHAR} ,
			#{session, jdbcType=VARCHAR} ,
			#{module, jdbcType=VARCHAR} ,
			#{visitTime, jdbcType=TIMESTAMP} ,
			#{visitCount, jdbcType=INTEGER} 
		)
	</insert>
	<update id="update" parameterType="com.liupengyuan.test.modulePage.pageView.model.PageView">
		update
			<include refid="tableNameSql"/>
		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 <include refid="conditionOnlyId"/>
	</update>

	<delete id="deleteByIds" parameterType="Object[]">
		delete from <include refid="tableNameSql"/> 
		where id in <foreach index="index" item="item" collection="array" separator="," open="(" close=")" >#{item}</foreach>
	</delete>

	<delete id="deleteById" parameterType="Object">
		delete from <include refid="tableNameSql"/> where <include refid="conditionOnlyId"/>
	</delete>

</mapper>


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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
    	 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
		 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
		 http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
		 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
	<context:component-scan base-package="com.liupengyuan.test.modulePage.pageView.*" />
</beans>


Struts2配置文件:struts-test-modulePage-pageView.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<package name="com.liupengyuan.test.modulePage.pageView.action.PageViewAction" extends="struts-default" namespace="/jsp/moduleWeb/pageView">

		<action name="pageView_*"
				class="pageViewAction"
				method="{1}">
		</action>
		<action name="pageView">
			<result>/jsp/moduleWeb/pageView/pageView.jsp</result>
		</action>

	</package>
</struts>


结束...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: