- 解决Mybatis-Plus分页插件无效,total返回0的问题
问题描述:分页失效,mapper.selectPage返回记录,total还是0,往上大多数问题都是老版本的解决方式,mybatis-plus3.4.x版本无法解决原因:mybatis-plus3.4.x貌似通过拦截器进行分页的,这里没有启用,主要原因是数据库配置没有引入,以下为代码情况:1:xml依赖情况com.baomidoumybatis-plus-boot-starter3.4.32:增加
- MyBatis SQL 执行过程原理分析(附源码) 代理层:Mapper 接口动态代理 路由层:MapperMethod 分发 核心引擎:SqlSession 执行
夜雨hiyeyu.com
mybatissql数据库数据库架构javaspringbootdb
MyBatisSQL执行过程原理分析(附源码)1.代理层:Mapper接口动态代理2.路由层:MapperMethod分发3.核心引擎:SqlSession执行4.执行器:Executor调度5.处理器层:StatementHandler执行6.结果映射:ResultSetHandler转换核心执行流程图关键设计亮点性能优化建议MyBatis的SQL执行过程可以分为6个核心阶段,我们将通过源码逐层
- Hadoop WordCount 程序实现与执行指南
HadoopWordCount程序实现与执行指南下面是使用Python实现的HadoopWordCount程序,包含完整的Mapper和Reducer部分。这个程序可以在PyCharm中本地测试,也可以部署到远程Hadoop集群上运行。mapper.pyimportsys#从标准输入读取数据forlineinsys.stdin:#移除行首行尾的空白字符line=line.strip()#将行分割为
- 大事件项目记录6-用户接口开发-更新用户密码
a_Dragon1
SpringBoot学习记录数据库springbootjavaintellij-idea
(6)更新用户密码。UserController.java:UserService.java:UserServiceInterface.java:@OverridepublicvoidupdatePwd(StringnewPwd){Mapmap=ThreadLocalUtil.get();Integerid=(Integer)map.get("id");userMapper.updatePwd(M
- 获取一个实体集合数据中某个元素(如ID)的集合
ZeroOber
在获取数据中我们一般获取到一个集合,然后需要用for循环来取出需要的元素如id这样比较麻烦,效率好像也低,然后找到一种新的方式,记一下QueryWrapperqueryWrapper1=newQueryWrapperm=nameListStaffMapper.selectList(queryWrapper1);Listcollect=m.stream().map(NameListStaff::ge
- MyBatis缓存机制深度解析
搞怪青年布响丸辣
mybatis缓存spring
在软件开发中,性能优化是一个永恒的话题。对于频繁访问数据库的应用来说,缓存是提高性能的重要手段之一。MyBatis作为一款流行的持久层框架,自然提供了丰富的缓存支持。本文将深入探讨MyBatis的一级缓存、二级缓存以及集成第三方缓存的机制和使用注意事项。一、MyBatis缓存概述MyBatis缓存主要分为两类:一级缓存(SqlSession级别的缓存)和二级缓存(Mapper级别的缓存)。一级缓存
- MyBatis-Spring 优化 Mapper 接口使用的实践与原理
coderzpw
MybatisSpring系列mybatisspringjava
MyBatis-Spring优化Mapper接口使用的实践与原理一、纯MyBatis项目Mapper接口使用的核心痛点1.1配置与调用流程繁琐1.2代码规范难以统一1.3依赖管理不清晰二、MyBatis-Spring实现Mapper接口自动化注册的原理与优势2.1MapperScannerConfigurer2.2ClassPathMapperScanner2.3MapperFactoryBean
- java操作JSON
呜呜你好特别
javajson开发语言
一、Jackson概念1、作用它是用来前后端的交互功能,属于SpringMVC二、ObjectMapper2.1、作用是用来后端接收的json数据转换成各种格式。也可以转换各种格式2.1.1、第一步,初始化ObjectMappermapper=newObjectMapper();2.1.2、写到文件中Useruser=newUser("243582","h2435823336");//mapper
- mapper[] is ignored, because it exists, maybe from xml file
缘来是庄
mybatis
springboot项目启动报错:mapper[xxxx]isignored,becauseitexists,maybefromxmlfile原因是在xxxMapper.xml配置文件中,方法出现重复了。比如
- ServiceImpl注入多个baseMapper实例报错
缘来是庄
java
1、项目启动报错FieldbaseMapperincom.baomidou.mybatisplus.extension.service.impl.ServiceImplrequiredasinglebean,but2werefound:-xxxMapper:definedinfile[D:\xxxMapper.class]-xxxxMapper:definedinfile[D:\xxxxMappe
- DTO、VO、POJO转换性能测试
ZuuuuYao
Java开发语言java
PO、DTO、VO、BO对象转换性能测试一、Java对象转换性能测试(一)测试对象mapstruct(二)测试对象modelmapper二测试代码(1)准备UserEntity(2)准备UserVO(3)编写mapstruct的映射器UserStructMapper(4)准备测试类(5)输出结果三、测试报告四、结论一、Java对象转换性能测试(一)测试对象mapstructMapstruct是一个
- POJO/DTO/DO/EO/VO/BO/PO/AO的含义和使用
石头wang
Java基础/JUC/JVMpojodto
关于POJO/DTO/DO/EO/VO/BO/PO/AO本文讨论POJO/DTO/DO/EO/VO/BO/PO/AO的定义,另外讨论了这些xO在controller、service、dao/mapper层里的使用规范。另外还稍微讨论了controller中是否要“轻逻辑”,mapper接口的规范等等问题。前言在我们的java项目中存在各种xO的概念,如POJO/DTO/DO/EO/VO,还有些后端
- MyBatis逆向工程生成 (生成pojo、mapper.xml、mapper.java)
weixin_30701521
java数据库
MyBatis逆向工程生成mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。之所以强调单表两个字,是因为Mybatis逆向工程生成的Mapper所进行
- DTO、VO、POJO与实体类使用方案(结合Mapper.xml)
csdn_HPL
xmlwindows
结合MyBatis的Mapper.xml文件,展示完整的层级数据流转和数据库操作。1.实体类优化(Entity)//User.java@Data@NoArgsConstructor@AllArgsConstructor@TableName("sys_user")publicclassUser{@TableId(type=IdType.AUTO)privateLonguserId;@NotBlank
- Spring Boot 项目分层架构详解
damnItHUA
后端springboot架构后端
在现代SpringBoot项目中,Controller、Service、Mapper和Entity四层架构能够有效提升代码可维护性、可测试性与团队协作效率。下面以“商品管理(Product)”为例,系统梳理这四层的职责分工与协作关系。一、Controller层作为Springboot应用程序的入口点,Controller层主要负责接收来自前端或其他系统的HTTP请求,校验输入参数,将业务委托给Se
- mybatis批量插入数据时,如果是sql server库只返回一条自增主键
小小不吃香菜
mybatissqlserverjava
有个功能需要做个批量插入,表是自增主键,本来是很简单的事情,结果一测试发现一个神奇的事情,由于数据库是sqlserver的,插入一条时,id可以正常返回,多条时,就出现了标题的问题,只返回一个id,使用的是mybatis自带的jar包,甚至如何使用人家还加了备注在里面,很清晰,是这样的:然后我就按照上面描述的,自己加了一个自定义的Mapper,把主键名称改成我自己的,然后发现依然只能获取到一条,后
- 为什么 通过keycloak 对接SAML后 登录后 用户名是“_”
珠峰下的沙砾
Keycloakjava
原因解析Keycloak处理SAML登录时,用以下几个来源尝试提取用户名:Subject>NameID(SAML默认用户名来源)SAMLAssertion中的Attribute(比如uid、username、email等)——如果配置了AttributeStatementMapper如果以上都没有匹配或取值失败,它可能会用默认字符_占位(就是你看到的情况)✅排查步骤1.确认SAML响应中的Name
- 全面掌握 Jackson 序列化工具:原理、使用与高级配置详解
微笑听雨。
java进阶教程java序列化反序列化Jackson
全面掌握Jackson序列化工具:原理、使用与高级配置详解Jackson是一个功能强大的JSON处理库,广泛应用于Java项目中。它提供了丰富的功能和灵活的配置选项,可以轻松地在Java对象和JSON数据之间进行转换。本文将详细介绍Jackson的核心概念、基本用法、高级配置及处理集合类型的数据,旨在帮助你全面掌握Jackson的使用方法。一、Jackson的核心概念1.ObjectMapperO
- 员工列表查询-分页查询-PageHelper插件-注意事项
还是鼠鼠
springspringbootmybatisjava后端数据库
目录1.背景介绍2.Maven依赖(pom.xml)3.配置项(application.properties)4.核心代码示例4.1Controller层(Java)4.2Service层(Java)4.3Mapper接口(Java)4.4MapperXML(MyBatis)5.注意事项小结6.运行结果演示以下是一篇面向“JavaWeb使用PageHelper分页插件注意事项”简单介绍,包含完整可
- 【学习笔记】2024最新版SpringCloud教程
2024最新版SpringCloud教程0前言闲聊开篇简介1SpringBoot和SpringCloud版本选型2SpringCloud是什么能干吗3SpringCloud各组件的停更升级替换说明4项目实战之需求说明5项目实战之Maven父工程聚合说明和mysql驱动选择6项目实战之Mapper4一键生成Dao层代码7项目实战之微服务工程化编写步骤8项目实战之Pay支付微服务编码落地实战9项目实战
- LVM分配剩余空间给逻辑卷
胖大和尚
lvmlinux
你看到的/dev/mapper/ubuntu–vg-ubuntu–lv只有30G,而你明明在VMwareFusion中配置了64G磁盘,这是因为你用了LVM(逻辑卷管理器),而且还没有把所有的磁盘空间分配给逻辑卷。⸻背后原理你的磁盘使用LVM结构,大致是:物理磁盘(64G)└─分区(如/dev/nvme0n1p3)└─PV(PhysicalVolume,LVM物理卷)└─VG(VolumeGrou
- 容器技术入门与docker环境部署
UFIT
eureka云原生
一、容器技术基础容器核心概念容器:轻量级、可移植的软件单元,将应用与依赖打包为独立运行环境,基于Linux内核的Namespace和Cgroups实现资源隔离。Docker:主流容器引擎,提供镜像构建、容器管理能力,支持跨平台部署18。二、openEuler环境准备系统要求操作系统:openEuler20.03/22.03LTS(推荐)内核:≥3.8,支持存储驱动(如DeviceMapper、Ov
- mybatis缓存导致的返回结果差异问题
ipx_me
缓存
最近有一个方法返回的结果与预想的不一致。原因:mybatis的一级缓存导致的问题该方法内部重复调用同一个mybatis的方法,因为入参相同触发一级缓存。举个例子:@Transactional//执行查询,结果将被缓存YourObjectobject1=mapper.selectByPrimaryKey(id);//再次执行相同的查询,可能从缓存中获取结果YourObjectobject2=mapp
- Mybatis-Plus支持多种数据库
demon7552003
数据库mybatis多数据库
使用Mybatis-Plus进行数据库的访问,但是由于不同的数据库有不同的方言,所以需要进行适配。有2种实现方式:databaseId方式MapperLocation方式指定databaseId方式通过databaseId指定所使用的数据库,选择同步的SQL。Mapper.xml设置默认*Mapper.xml文件的路径在resources/mapper/下默认*Mapper.xml文件的路径在re
- idea安装插件可以快速定位到mapper方法
veminhe
杂记intellij-ideajavaide
参考:https://jingyan.baidu.com/article/7c6fb42869f423c1652c9057.html在右侧插件搜索框输入“FreeMybatisplugin”改为“FreeMybatisTool”
- Unable to start embedded Tomcat
MyFreeIT
JDKtomcatmybatisjava
通常是由于xml文件配置错误导致1.mapper指向错误2.字段类型错误TINYINT是数据库类型或者String是Java类型
- Linux CentOS安装Docker和docker-compose和milvus
数据叨叨叨
linuxcentosdocker
一、LinuxCentOS安装Docker在CentOS上安装Docker与在Ubuntu上类似,但有一些微小的差异。以下是在CentOS上安装Docker的步骤:更新系统:确保系统处于最新状态。使用以下命令更新软件包列表:sudoyumupdate安装依赖包:安装一些必要的软件包,以便能够通过HTTPS使用存储库:sudoyuminstall-yyum-utilsdevice-mapper-pe
- 请求日志切面类
潇凝子潇
log切面java
importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.SerializationFeature;importcom.fasterxml.jackson.datatype.jsr310.JavaTimeModule;importcom.google.common.base.Stop
- MapReduce
2401_8554978
mapreduce大数据
MapReduce原理与组成一、MapReduce组件及任务Mapper(映射器)任务:处理输入数据并生成键值对。每个输入记录被转换成一个或多个键值对。工作原理:Mapper接收输入的分片(InputSplit),通常是文件的一部分,然后根据业务逻辑将这些数据转换为键值对。例子:假设我们要统计文本中每个单词出现的次数,Mapper可以将每一行文本分割成单词,并输出每个单词作为键,值设为1。Redu
- 【慧游鲁博】【8】web端·路径重定向·用户选择模式存储/统计·数据格式转换
哇哦哇哦~~
创新实训个人记录前端vuepostgresql数据可视化
文章目录路径重定向修改前1.符合用户访问逻辑2.避免路由冲突3.统一路由控制权修改后模式选择统计核心需求一、数据库设计(NeonPostgreSQL)二、SpringBoot后端实现项目结构依赖配置(`pom.xml`)数据库配置(`application.yml`)实体类(`ModeStats.java`)数据传输DTO(`ModeDto.java`)Mapper接口(`ModeStatsMap
- 312个免费高速HTTP代理IP(能隐藏自己真实IP地址)
yangshangchuan
高速免费superwordHTTP代理
124.88.67.20:843
190.36.223.93:8080
117.147.221.38:8123
122.228.92.103:3128
183.247.211.159:8123
124.88.67.35:81
112.18.51.167:8123
218.28.96.39:3128
49.94.160.198:3128
183.20
- pull解析和json编码
百合不是茶
androidpull解析json
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java
- [能源与矿产]石油与地球生态系统
comsci
能源
按照苏联的科学界的说法,石油并非是远古的生物残骸的演变产物,而是一种可以由某些特殊地质结构和物理条件生产出来的东西,也就是说,石油是可以自增长的....
那么我们做一个猜想: 石油好像是地球的体液,我们地球具有自动产生石油的某种机制,只要我们不过量开采石油,并保护好
- 类与对象浅谈
沐刃青蛟
java基础
类,字面理解,便是同一种事物的总称,比如人类,是对世界上所有人的一个总称。而对象,便是类的具体化,实例化,是一个具体事物,比如张飞这个人,就是人类的一个对象。但要注意的是:张飞这个人是对象,而不是张飞,张飞只是他这个人的名字,是他的属性而已。而一个类中包含了属性和方法这两兄弟,他们分别用来描述对象的行为和性质(感觉应该是
- 新站开始被收录后,我们应该做什么?
IT独行者
PHPseo
新站开始被收录后,我们应该做什么?
百度终于开始收录自己的网站了,作为站长,你是不是觉得那一刻很有成就感呢,同时,你是不是又很茫然,不知道下一步该做什么了?至少我当初就是这样,在这里和大家一份分享一下新站收录后,我们要做哪些工作。
至于如何让百度快速收录自己的网站,可以参考我之前的帖子《新站让百
- oracle 连接碰到的问题
文强chu
oracle
Unable to find a java Virtual Machine--安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
作者:草根IT网 来源:未知 人气:813标签:
导读:安装64位版Oracle11gR2后发现启动SQLDeveloper时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\prod
- Swing中按ctrl键同时移动鼠标拖动组件(类中多借口共享同一数据)
小桔子
java继承swing接口监听
都知道java中类只能单继承,但可以实现多个接口,但我发现实现多个接口之后,多个接口却不能共享同一个数据,应用开发中想实现:当用户按着ctrl键时,可以用鼠标点击拖动组件,比如说文本框。
编写一个监听实现KeyListener,NouseListener,MouseMotionListener三个接口,重写方法。定义一个全局变量boolea
- linux常用的命令
aichenglong
linux常用命令
1 startx切换到图形化界面
2 man命令:查看帮助信息
man 需要查看的命令,man命令提供了大量的帮助信息,一般可以分成4个部分
name:对命令的简单说明
synopsis:命令的使用格式说明
description:命令的详细说明信息
options:命令的各项说明
3 date:显示时间
语法:date [OPTION]... [+FORMAT]
- eclipse内存优化
AILIKES
javaeclipsejvmjdk
一 基本说明 在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人
- 关键字的使用探讨
百合不是茶
关键字
//关键字的使用探讨/*访问关键词private 只能在本类中访问public 只能在本工程中访问protected 只能在包中和子类中访问默认的 只能在包中访问*//*final 类 方法 变量 final 类 不能被继承 final 方法 不能被子类覆盖,但可以继承 final 变量 只能有一次赋值,赋值后不能改变 final 不能用来修饰构造方法*///this()
- JS中定义对象的几种方式
bijian1013
js
1. 基于已有对象扩充其对象和方法(只适合于临时的生成一个对象):
<html>
<head>
<title>基于已有对象扩充其对象和方法(只适合于临时的生成一个对象)</title>
</head>
<script>
var obj = new Object();
- 表驱动法实例
bijian1013
java表驱动法TDD
获得月的天数是典型的直接访问驱动表方式的实例,下面我们来展示一下:
MonthDaysTest.java
package com.study.test;
import org.junit.Assert;
import org.junit.Test;
import com.study.MonthDays;
public class MonthDaysTest {
@T
- LInux启停重启常用服务器的脚本
bit1129
linux
启动,停止和重启常用服务器的Bash脚本,对于每个服务器,需要根据实际的安装路径做相应的修改
#! /bin/bash
Servers=(Apache2, Nginx, Resin, Tomcat, Couchbase, SVN, ActiveMQ, Mongo);
Ops=(Start, Stop, Restart);
currentDir=$(pwd);
echo
- 【HBase六】REST操作HBase
bit1129
hbase
HBase提供了REST风格的服务方便查看HBase集群的信息,以及执行增删改查操作
1. 启动和停止HBase REST 服务 1.1 启动REST服务
前台启动(默认端口号8080)
[hadoop@hadoop bin]$ ./hbase rest start
后台启动
hbase-daemon.sh start rest
启动时指定
- 大话zabbix 3.0设计假设
ronin47
What’s new in Zabbix 2.0?
去年开始使用Zabbix的时候,是1.8.X的版本,今年Zabbix已经跨入了2.0的时代。看了2.0的release notes,和performance相关的有下面几个:
:: Performance improvements::Trigger related da
- http错误码大全
byalias
http协议javaweb
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1)1xx:信息,请求收到,继续处理
2)2xx:成功,行为被成功地接受、理解和采纳
3)3xx:重定向,为了完成请求,必须进一步执行的动作
4)4xx:客户端错误,请求包含语法错误或者请求无法实现
5)5xx:服务器错误,服务器不能实现一种明显无效的请求
- J2EE设计模式-Intercepting Filter
bylijinnan
java设计模式数据结构
Intercepting Filter类似于职责链模式
有两种实现
其中一种是Filter之间没有联系,全部Filter都存放在FilterChain中,由FilterChain来有序或无序地把把所有Filter调用一遍。没有用到链表这种数据结构。示例如下:
package com.ljn.filter.custom;
import java.util.ArrayList;
- 修改jboss端口
chicony
jboss
修改jboss端口
%JBOSS_HOME%\server\{服务实例名}\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml
中找到
<!-- The ports-default bindings are obtained by taking the base bindin
- c++ 用类模版实现数组类
CrazyMizzz
C++
最近c++学到数组类,写了代码将他实现,基本具有vector类的功能
#include<iostream>
#include<string>
#include<cassert>
using namespace std;
template<class T>
class Array
{
public:
//构造函数
- hadoop dfs.datanode.du.reserved 预留空间配置方法
daizj
hadoop预留空间
对于datanode配置预留空间的方法 为:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
 
- mysql远程访问的设置
dcj3sjt126com
mysql防火墙
第一步: 激活网络设置 你需要编辑mysql配置文件my.cnf. 通常状况,my.cnf放置于在以下目录: /etc/mysql/my.cnf (Debian linux) /etc/my.cnf (Red Hat Linux/Fedora Linux) /var/db/mysql/my.cnf (FreeBSD) 然后用vi编辑my.cnf,修改内容从以下行: [mysqld] 你所需要: 1
- ios 使用特定的popToViewController返回到相应的Controller
dcj3sjt126com
controller
1、取navigationCtroller中的Controllers
NSArray * ctrlArray = self.navigationController.viewControllers;
2、取出后,执行,
[self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animated:YES
- Linux正则表达式和通配符的区别
eksliang
正则表达式通配符和正则表达式的区别通配符
转载请出自出处:http://eksliang.iteye.com/blog/1976579
首先得明白二者是截然不同的
通配符只能用在shell命令中,用来处理字符串的的匹配。
判断一个命令是否为bash shell(linux 默认的shell)的内置命令
type -t commad
返回结果含义
file 表示为外部命令
alias 表示该
- Ubuntu Mysql Install and CONF
gengzg
Install
http://www.navicat.com.cn/download/navicat-for-mysql
Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html
Step2:进入下载目录,解压压缩包:tar -zxvf navicat11_mysql_en.tar.gz
- 批处理,删除文件bat
huqiji
windowsdos
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=C:/Test/BatHome
rem 指定天数
set DaysAgo=1
- 跨浏览器兼容的HTML5视频音频播放器
天梯梦
html5
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件。而html5media.js可以在不支持html5的浏览器上使video和audio标签生效。 How to enable <video> and <audio> tags in
- Bundle自定义数据传递
hm4123660
androidSerializable自定义数据传递BundleParcelable
我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity
把数据放到Intent
- C#:异步编程和线程的使用(.NET 4.5 )
powertoolsteam
.net线程C#异步编程
异步编程和线程处理是并发或并行编程非常重要的功能特征。为了实现异步编程,可使用线程也可以不用。将异步与线程同时讲,将有助于我们更好的理解它们的特征。
本文中涉及关键知识点
1. 异步编程
2. 线程的使用
3. 基于任务的异步模式
4. 并行编程
5. 总结
异步编程
什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程。通常情况下,C#程序
- spark 查看 job history 日志
Stark_Summer
日志sparkhistoryjob
SPARK_HOME/conf 下:
spark-defaults.conf 增加如下内容
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.compress true
spark-env.sh 增加如下内容
export SP
- SSH框架搭建
wangxiukai2015eye
springHibernatestruts
MyEclipse搭建SSH框架 Struts Spring Hibernate
1、new一个web project。
2、右键项目,为项目添加Struts支持。
选择Struts2 Core Libraries -<MyEclipes-Library>
点击Finish。src目录下多了struts