SS和AM dnf怎么卡ss配合

&>&&>&&>&&>&&>&
SS EtherCAT
SS EtherCAT
400-820-9661
SS-EC 驱动器内置EtherCAT 通讯,是SS 系列家族的一员。SS-EC 驱动器可做为标准的EtherCAT从站,支持CANopen over EtherCAT(CoE)。SS-EC 驱动器可搭配多种不同大小的步进伺服电机使用。
SS-EC快速安装指南
SS-EC硬件手册
EtherCAT用户手册
SS-EC xml文件
EtherCAT连接指南 与Beckhoff TwinCAT 2
EtherCAT连接指南 与Beckhoff TwinCAT 3
EtherCAT连接指南 与Trio MC4N
EtherCAT连接指南 与Omron NJ
* 与SS-EC驱动器配套的AM17/23/24/34SS电机有-N尾缀& 与SS-EC驱动器配套的AM11SS电机没有-N尾缀
● 可编程,数字步进伺服驱动器和电机● 24V~70V直流电源供电● 支持CANopen over EtherCAT(CoE),符合CiA402标准。基于100BASE-TX线缆,100Mbps波特率,全双工模式,高传送速度,高可靠性通讯● 支持Profile Position, Profile Velocity, Profile Torque, Cyclic Synchronous Position, Cyclic Synchronous Velocity,Cyclic Synchronous Torque和Homing模式以及鸣志特有的Q模式● 双端口EtherCAT通讯接口● USB端口用于配置参数● 编码器分辨率:20000脉冲/圈(AM17/23/24/34SS电机),4096脉冲/圈(AM11SS电机)● SS03-EC输出电流:连续电流3A,瞬时电流4.5A● SS05-EC输出电流:连续电流5A,瞬时电流7.5A● SS10-EC输出电流:连续电流10A,瞬时电流15A● 8路光电隔离数字输入:高电平可直接接收5~24V直流电平● 4路光电隔离数字输出:最大30V/100mA,可使用灌电流或者源电流接法● 2路模拟量输入,可配置为0~5V,0~10V,±5V或者±10V信号范围● 差分编码器信号输出(AOUT+/-, BOUT+/-, ZOUT+/- ), 26C31线性驱动器,20mA灌电流或拉电流● 辅助电源供电,可提供控制电路电源● 4个按键和5位数字LED显示,可按键配置参数● 支持STO功能(Safe Torque Off,安全转矩禁止)
■ 全闭环
● 精确的位置和速度控制以满足最为苛刻的应用要求;● 高鲁棒性的伺服控制可适应宽范围的惯量性负载和摩擦性负载;● AM17SS,AM23SS,AM24SS,AM34SS产品内置20000 脉冲/圈高分辨率编码器,提供了精确的位置精度,定位误差仅为±1脉冲(0.018°)。● AM11SS产品内置4096 脉冲/圈高分辨率编码器,提供了精确的位置精度,定位误差仅为±1脉冲(0.2°)。
■ 低发热/高效率
● 根据实际负载情况实时调整电流的大小,将发热降至最低。● 静止时,电流几乎为零,无发热。● 接近100%力矩输出能力,在最紧凑的空间内发挥出最大的能量转化率,节能高效。
■ 平滑精确
● 基于5000线高精度编码器的空间矢量电流控制算法,在全速度范围内均有优异的性能表现,即使在低速应用时仍可保持平稳、安静的运行。  ------完美解决传统步进电机低速振动噪声问题 ● 利用高速响应的伺服控制技术升级强化了步进电机固有的刚性特质。  ------在运行和静止时都确保定位的精确
■ 高速响应
● 在点到点快速定位的运动场合,先进的伺服控制技术提供了大力矩输出,使得系统具有极高动态响应,大大超越了传统步进系统极限。
■ 大力矩
●&SS始终在全伺服模式下运行,电机的力矩可以被100%充分利用,系统设计时无需考虑力矩冗余。●&在大多数应用场合,电机可以输出150%的额定力矩,大力矩输出在某些情况下可以简化减速机构的复杂度。●&50%过载能力在短距离,高加减速的应用场合将系统优化得更加高效。
■ 运动监测
●& 对某些实时性运动有极为苛刻精确性要求的应用场合,Step-Servo Quick Tuner 提供了一个简单实用的工具用来监测实际运动轨迹。●& 可用来监测诸如实际速度和位置误差等常用指标,以此评估系统当前实际性能表现。●& 交互式监控与整定结合的界面可以最快地获得最优化的性能输出。
?相关软件                                        
是基于PC的步进伺服应用配置调试软件,可用来配置设定各种工作模式,调整伺服整定参数,测试评估驱动性能。软件功能强大,界面人性化,操作方便。简单的增益调节,多种控制功能选择,I/O功能设定,运动轨迹模拟提供最为丰富的客户应用体验。
?驱动器规格
& 功率放大类型
& 电流控制
& 4态、PWM频率20KHz
& 输出电流
& SS03:最大输出连续电流3A,瞬时电流4.5A(1.5s),可根据所接电机自动调整限流值
& SS05:最大输出连续电流5A,瞬时电流7.5A(1.5s),可根据所接电机自动调整限流值
& SS10:最大输出连续电流10A,瞬时电流15A(1.5s),可根据所接电机自动调整限流值
& 输入电源
& 24-70V直流电源,输入电压绝对范围18-75V直流电源
& 辅助电源
& 12-48V直流电源
& 过压、欠压、过热、电机绕组短路(相间、相地)
& 细分等级
& 软件可调,可配置为200-51200步/圈之间任意偶数
& 编码器分辨率
& 20000脉冲/圈(对于AM17/23/24/34SS电机),4096脉冲/圈(对于AM11SS电机)
& 速度范围
& 速度可达到3600 rpm
& 数字输入噪音滤波器、模拟输入滤波器、平滑滤波器、PID滤波器、陷波器
& 非易失性存储器
& 配置参数存储在DSP芯片内部的FLASH中
& 支持协议
& CoE(CiA 402协议)
& 支持模式
& Profile Position, Profile Velocity, Profile Torque, Cyclic Synchronous Position, & Cyclic Synchronous Velocity, Cyclic Synchronous Torque和Homing模式以及鸣志特有的Q模式
& SM Event, DC SYNC Event
& 数字输入
& X1,X2,X3,X4光电隔离,差分输入,5~24V,最小脉宽250ns,最大脉冲频率2MHz;& X5,X6,X7,X8光电隔离,单端输入,5~24V
& 数字输出
& Y1,Y2,Y3,Y4& 光电隔离,集电极开路,30V,最大100mA,最大脉冲频率10KHz
& 模拟量输入
& AIN1, AIN2& 输入分辨率12-bit,软件可配置成0~5V,0~10V,±5V或者±10V(GND为AIN的参考地)
& 4.8-5V,最大100mA
& 通讯接口
& EtherCAT 和 mini USB (用于配置)
& 环境温度
& 0-40℃(32-104°F)(安装合适的散热器)
& 环境湿度
& 最大90%,无结露
?机械尺寸(单位:mm)
AM11SS1DMA
AM11SS2DMA
AM11SS3DMA
AM17SS1DGA-N
AM17SS1DGB-N
AM17SS2DGA-N
AM17SS2DGB-N
AM17SS3DGA-N
AM17SS3DGB-N
AM17SS4DGA-N
AM17SS4DGB-N
AM23SS2DGA-N
AM23SS2DGB-N
AM23SS3DGA-N
AM23SS3DGB-N
AM23SS4DGA-N
AM24SS3DGA-N
AM24SS3DGB-N
AM34SS1DGA-N
AM34SS3DGA-N
AM34SS5DGA-N
匹配驱动器
编码器分辨率
电机安装尺寸
容许悬挂负载(N)
容许轴向负载(N)
距轴端的距离mm(L)
counts/rev
& AM11SS1DMA
电机本身重量以下
& AM11SS2DMA
& AM11SS3DMA
& AM17SS1DG□-N
SS03-EC-D或SS05-EC-D
& AM17SS2DG□-N
& AM17SS3DG□-N
& AM17SS4DG□-N
& AM23SS2DG□-N
& AM23SS3DG□-N
& AM23SS4DGA-N
& AM24SS3DG□-N
& AM34SS1DGA-N
& AM34SS3DGA-N
& AM34SS5DGA-N
& □:A或B,详见电机命名规则;
?可选配件 ( 需另购)
塑壳位号(J1)
颜色(信号)
塑壳位号(J1)
颜色(信号)
蓝白色 (X1+)
蓝黑色 (X1-)
绿白色 (X2+)
棕白色 (Y1+)
绿黑色 (X2-)
棕黑色 (Y1-)
红色 (X3+)
灰白色 (Y2+)
橙色 (X3-)
灰黑色 (Y2-)
蓝色 (X4+)
紫白色 (Y3+)
紫色 (X4-)
紫黑色 (Y3-)
粉红色 (Y4+)
黄绿色 (Y4-)
红白色 (AOUT+)
红黑色 (AOUT-)
橙白色 (BOUT+)
白色 (XCOM)
橙黑色 (BOUT-)
黑色 (GND)
黄白色 (ZOUT+)
黄黑色 (ZOUT-)
■ 电机延长线(用于连接SS-EC驱动器和AM11SS电机)
塑壳位号(J1)
颜色(信号)
■ 电机延长线(用于连接SS-EC驱动器和AM17/23/24/34SS-N电机)
塑壳位号(J1)
颜色(信号)
■ 编码器延长线(用于连接SS-EC驱动器和AM11SS电机)
塑壳位号(J1)
颜色(信号)
塑壳位号(J2)
蓝色(A+)
蓝黑色(A-)
绿色(B+)
绿黑色(B-)
黄色(Z+)
黄黑色(Z-)
红色(+5V)
黑色(GND)
棕色(U+)
棕黑色(U-)
灰色(V+)
灰黑色(V-)
白色(W+)
白黑色(W-)
■ 编码器延长线(用于连接SS-EC驱动器和AM17/23/24/34SS-N电机)
塑壳位号(J1)
颜色(信号)
塑壳位号(J2)
蓝色/黑色(A-)
绿色/黑色(B-)
黄色/黑色(Z-)
棕色/黑色(U-)
灰色/黑色(V-)
■ USB配置线
& * 已随产品附带你可能感兴趣的文章
扫描二维码用手机看文章本页地址&http://blog.csdn.net/lpy3654321/article/details/
& & & &&&项目设想,在项目开发中,我们的开发人员大多数时间都在重复开发 同样的关键字,同样的语法. 但就在这样的情况下还会经常发生语法的错误,而且每个开发人员的代码风格不同. 其他人员阅读困难.新人的学习成本也会增加.
&& & & & 这些问题会浪费很多时间,也会影响到开发人员的心情,和程序质量. 由这些问题我想的解决方法是 &代码生成工具& . 代码生成可以解决上述问题,加强约定. 对于普通CRUD的开发效率可以提升50%以上,错误率几乎为0 , 是项目系统的开发利器.
代码生成&代码生成工具
自己写的开发平台ssmy_m&与代码生成 ,struts2&mybatis spring maven jquery jqgrid jqueryui
有问题请留言,或QQ
最下面有生成出来的代码
SVN上的代码基础功能已经都有了.美工没弄,有需要的自己改吧.
在/ssmy_m/src/main/webapp/common/include_com.jsp里引用.否则代码生成会有影响
&ssmy开发框架SSMy
&ssmy框架的代码生成工具
&generate_m生成的代码示例
svn:&/lpy3654321.ssmy_m/
帐号:guest112233
密码:guest112233
也可以到&&注册
开发平台页面 :右键新窗口打开图片可以放大
最下面有生成出来的代码
svn:&/lpy3654321.ssmy_generate_m/
帐号:guest112233
密码:guest112233
也可以到&&注册
通过过数据库表生成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的引用路径
&package name=&com.liupengyuan.framework.pageView.action.PageViewAction& extends=&struts-default& namespace=&/framework/pageView&&
&action name=&pageView_*&
class=&pageViewAction&
method=&{1}&&
&action name=&pageView&&
&result&/framework/pageView/pageView.jsp&/result&
&/package&
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&&
&title&记录网络访问量&/title&
&%@ include file=&/common/include_com.jsp&%&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8& /&
&script src=&${pageContext.request.contextPath}/jsp/moduleWeb/pageView/js/pageView.js&&&/script&
&!--&script src=&js/pageView.js&&&/script&--&
&div class=&ui-layout-north&&
&div class=&navbar&&&font size=&2& & 当前操作:记录网络访问量&/font&&/div&
&div class=&ui-layout-center&&
&!-- &div class=&title_level1&&查询&/div& --&
&div class=&formarea&&
&form id=&pageViewSearchForm&&
&fieldset&
&legend style=&margin-left: 10&&查询&/legend&
&td style=&width:150& align=&right& &&label for=&requestIp&&用户IP:&/label&&/td&
&div class=&input&&
&input type=&text& name=&requestIp&
&td style=&width:150& align=&right& &&label for=&session&&记录会话ID:&/label&&/td&
&div class=&input&&
&input type=&text& name=&session&
&td style=&width:150& align=&right& &&label for=&module&&访问的模块:&/label&&/td&
&div class=&input&&
&input type=&text& name=&module&
&td style=&width:150& align=&right& &&label for=&visitTime&&访问时间:&/label&&/td&
&div class=&input&&
&input type=&text& name=&visitTime& class=&Wdate& onClick=&WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})& size=&40&
&td style=&width:150& align=&right& &&label for=&visitCount&&访问数量:&/label&&/td&
&div class=&input&&
&input type=&text& name=&visitCount&
&/fieldset&
&div class=&buttons&&
&button id=&searchB&&查询&/button&
&button id=&resetB&&清空&/button&
&div class=&toolbar&&
&button id=&addB&&增加&/button&
&button id=&editB&&修改&/button&
&button id=&deleteB&&删除&/button&
&table id=&pageViewTable&&&/table&
&div id=&pageViewAddOrEditForm&&
&div class=&formarea&&
&form id=&pageViewForm& type=&ajax&&
&input type=&hidden& id=&id& name=&id&/&
&td style=&width:70& align=&right& &&label for=&requestIp&&用户IP:&/label&&/td&
&div class=&input&&
&input type=&text& id=&requestIp& name=&requestIp&
class=&validate[maxSize[50] ] &
size=&40& /&
&td style=&width:70& align=&right& &&label for=&session&&记录会话ID:&/label&&/td&
&div class=&input&&
&input type=&text& id=&session& name=&session&
class=&validate[maxSize[100] ] &
size=&40& /&
&td style=&width:70& align=&right& &&label for=&module&&访问的模块:&/label&&/td&
&div class=&input&&
&input type=&text& id=&module& name=&module&
class=&validate[maxSize[100] ] &
size=&40& /&
&td style=&width:70& align=&right& &&label for=&visitTime&&访问时间:&/label&&/td&
&div class=&input&&
&input type=&text& id=&visitTime& name=&visitTime&
class=&Wdate & onClick=&WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})& size=&40& /&
&td style=&width:70& align=&right& &&label for=&visitCount&&访问数量:&/label&&/td&
&div class=&input&&
&input type=&text& id=&visitCount& name=&visitCount&
class=&validate[maxSize[10] ] &
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() {
$(&#resetB&).click(function() {
$(&#pageViewSearchForm&).clearForm();
function addDialog() {
$(&#pageViewForm&).clearForm();
$(&#pageViewAddOrEditForm&)
.dialog(&option&, &title&, &添加记录网络访问量窗口&)
.dialog(&open&);
function updateDialog() {
var pageViewGrid = $(&#pageViewTable&);
if (!pageViewGrid.ifGridSelectedOne()) {
alert(&请选择一条记录!&);
$(&#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('请选择要删除的记录!');
var ids = pageViewGrid.getSelectedIds();
if(confirm(&确定要删除 &+ ids.length+& 条数据吗?&)){
var ids = pageViewGrid.getSelectedIds();
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);
action:PageViewAction.java
package com.liupengyuan.test.modulePage.pageView.
import java.util.L
import org.springframework.beans.factory.annotation.A
import org.springframework.context.annotation.S
import org.springframework.stereotype.C
import com.liupengyuan.framework.util.JSONO
import com.liupengyuan.framework.web.query.IGenericP
import com.liupengyuan.framework.web.struts2.BaseA
import com.liupengyuan.test.modulePage.pageView.model.PageV
import com.liupengyuan.test.modulePage.pageView.service.PageViewS
* @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
* @version V1.0
@SuppressWarnings(&serial&)
@Controller(&pageViewAction&)
@Scope(&prototype&)
public class PageViewAction extends BaseAction&PageView& {
@Autowired
private PageViewService pageViewS
private PageView pageV
private String[]
* 新增或者修改记录
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(
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 + & 条记录!!!&;
msg = &删除失败,请选择要删除的记录!!!&;
JSONOuter.writeSuccessMsg(getPrintWriter(), msg);
* 模型驱动,自动装配页面属性
public PageView getModel() {
pageView = new PageView();
return pageV
public void setIds(String[] ids) {
this.ids =
service接口:PageViewService.java
package com.liupengyuan.test.modulePage.pageView.
import java.util.L
import com.liupengyuan.test.modulePage.pageView.model.PageV
import com.liupengyuan.framework.web.query.IGenericP
* @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
* @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,
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.
import java.util.L
import mons.lang.StringU
import org.springframework.beans.factory.annotation.A
import org.springframework.stereotype.S
import com.liupengyuan.framework.web.query.IGenericP
import com.liupengyuan.test.modulePage.pageView.dao.PageViewD
import com.liupengyuan.test.modulePage.pageView.model.PageV
import com.liupengyuan.test.modulePage.pageView.service.PageViewS
* @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
* @version V1.0
@Service(&pageViewService&)
public class PageViewServiceImpl implements PageViewService {
@Autowired
private PageViewDao pageViewD
* (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);
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,
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()+&%&);
DAO接口:PageViewDao.javapackage com.liupengyuan.test.modulePage.pageView.
import com.liupengyuan.framework.dao.IBaseGenericDAO;
import com.liupengyuan.test.modulePage.pageView.model.PageV
* @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
* @version V1.0
public interface PageViewDao extends IBaseGenericDAO&PageView& {
DAO实现类:PageViewDaoImpl.java
package com.liupengyuan.test.modulePage.pageView.dao.
import org.springframework.stereotype.R
import com.liupengyuan.framework.dao.MybatisBaseGenericDAOI
import com.liupengyuan.framework.util.GeneratorK
import com.liupengyuan.test.modulePage.pageView.dao.PageViewD
import com.liupengyuan.test.modulePage.pageView.model.PageV
* @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
* @version V1.0
@Repository(&pageViewDao&)
public class PageViewDaoImpl
extends MybatisBaseGenericDAOImpl&PageView&
implements PageViewDao {
* 生成UUID主键值。
* @param ob 记录网络访问量
public void generateId(PageView ob) {
if(null == ob.getId() || ob.getId().length() == 0){
ob.setId(GeneratorKey.genaraId());
model:PageView.java
package com.liupengyuan.test.modulePage.pageView.
* @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
* @version V1.0
public class PageView implements java.io.Serializable {
private java.lang.S
* @return id
public java.lang.String getId() {
return this.
public void setId(java.lang.String 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.S
* 获取记录会话ID
* @return 记录会话ID
public java.lang.String getSession() {
return this.
* 设置记录会话ID
public void setSession(java.lang.String session){
this.session =
/** 访问的模块 */
private java.lang.S
* 获取访问的模块
* @return 访问的模块
public java.lang.String getModule() {
return this.
* 设置访问的模块
public void setModule(java.lang.String module){
this.module =
/** 访问时间 */
private java.util.Date visitT
* 获取访问时间
* @return 访问时间
public java.util.Date getVisitTime() {
return this.visitT
* 设置访问时间
public void setVisitTime(java.util.Date visitTime){
this.visitTime = visitT
/** 访问数量 */
private java.lang.Integer visitC
* 获取访问数量
* @return 访问数量
public java.lang.Integer getVisitCount() {
return this.visitC
* 设置访问数量
public void setVisitCount(java.lang.Integer visitCount){
this.visitCount = visitC
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
&!-- 用于select查询、insert的公用抽取的列 --&
&sql id=&commonSelectColumnsPrefix&&
request_ip ,
visit_time ,
visit_count
&!-- 按主键查找条件语句 --&
&sql id=&conditionOnlyId&&
id = #{id}
&sql id=&mainSql&&
&include refid=&commonSelectColumnsPrefix&/&
&include refid=&tableNameSql&/& p
&sql id=&varSql&&
&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&
&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 != ''&&
&select id=&getById& parameterType=&String& resultMap=&pageViewResultMap&&
&include refid=&mainSql&/&
where &include refid=&conditionOnlyId&/&
&select id=&getCountBy& parameterType=&java.util.Map& resultType=&INTEGER&&
COUNT(*) AS C
&include refid=&tableNameSql&/& p
&include refid=&varSql&/&
&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 != ''&&
&insert id=&save& parameterType=&com.liupengyuan.test.modulePage.pageView.model.PageView&&
insert into
&include refid=&tableNameSql&/&
&include refid=&commonSelectColumnsPrefix&/&
#{id, jdbcType=VARCHAR} ,
#{requestIp, jdbcType=VARCHAR} ,
#{session, jdbcType=VARCHAR} ,
#{module, jdbcType=VARCHAR} ,
#{visitTime, jdbcType=TIMESTAMP} ,
#{visitCount, jdbcType=INTEGER}
&update id=&update& parameterType=&com.liupengyuan.test.modulePage.pageView.model.PageView&&
&include refid=&tableNameSql&/&
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&/&
&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 id=&deleteById& parameterType=&Object&&
delete from &include refid=&tableNameSql&/& where &include refid=&conditionOnlyId&/&
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.*& /&
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&&
&package name=&com.liupengyuan.test.modulePage.pageView.action.PageViewAction& extends=&struts-default& namespace=&/jsp/moduleWeb/pageView&&
&action name=&pageView_*&
class=&pageViewAction&
method=&{1}&&
&action name=&pageView&&
&result&/jsp/moduleWeb/pageView/pageView.jsp&/result&
&/package&
本文已收录于以下专栏:
相关文章推荐
原文地址:
Javassist简单应用小结
  Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具...
前端控制器:Struts2 ,Spring MVC
前端控制器是整个MVC框架中最为核心的一块,它主要用来拦截符合要求的外部请求,并把请求分发到不同的控制器去处理,根据控制器处理后的结果,生成相应的响...
ssm框架搭建,搭建过程中有,找不到spring监听,发现问题是没有把war包部署,于是在maven 中添加了war包插件。目前遗留问题为404...
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑...
1:maven依赖
javax.annotation
jsr250-api
Struts2+Spring3+Hibernate3导包
Struts2导包与配置
Struts2/apps/struts2-blank.war/WEB-INF/lib/*.jar
如下图所示:
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 dnf怎么卡ss 的文章

 

随机推荐