ssm开发的一点小技巧
一般使用反转工作生成基础bean如Items
然后我们使用的实体类一般是基础bean的拓展类ItemsCustomer,继承自基础类,这个是为了方便对于表字段的更改生成的bean影响减低
我们查询一般是使用一个ViewObject VO类
配置文件的话一般是同名前缀,然后web.xml中配置使用通配符方式,这样便于管理,不需要一个一个include
dao层中我们只需要写接口,impl由mybatis的mapper代劳
就是dao层返回的是基于数据表的数据
然后service是业务层,一系列的逻辑都在service中。service中简单的hibernate的操作的时候我们就是对dao内容的一个复制,在ssm中不是这个样子的,dao中返回的基本类型需要变成拓展类型返回,需要进行拓展操作。
小例子:
public ItemCustomer findItemsById(Integer id) throws Exception{
Items item=itemsMapper.selectByPrimaryKey(id);
//中间对商品信息进行业务处理
//...
//返回ItemsCustom
ItemsCustom itemsCustom=new ItemsCustom();
//将Items的属性值拷贝到itemsCustom
BeanUtils.copyProperties(items,itemsCustom);
return itemsCustom;
}
修改方法的话虽然拓展对象中也包含Id,但是你可以再加一个参数id,将id单独列出来一次,这样别人就很直观的知道你的id是什么,而不用考虑是什么属性获取。数据类型int和Integer的话尽量使用Integer,这样方便进行非空判断,调用mapper中的什么方法也有一点讲究。
小例子:
public void updateItems(Integer id,ItemsCustom itemsCustom) throws Exception{
//添加业务校验,通常在service接口对关键字进行校验
//校验id是否为空,如果为空抛出异常
//更新商品信息使用updateByPrimaryKeyWithBLOBS更新items表中所有字段,包括大文本
//updateByPrimaryKeyWithBLOBS要求主键不能为空,我们这里最好是保险再插入一次
itemsCustom.setId(id);
itemsMapper.updateByPrimaryKeyWithBLOBS(itemsCustom);
}
ssm开发的一点小技巧的更多相关文章
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- Android开发效率的小技巧
提高eclipse使用效率(二) 提高Android开发效率的小技巧 XML文件的代码提示 adt中也有xml文件的代码提示,为了让提示来的更加猛烈,我们还要设置一下 打开eclipse - Wi ...
- iOS开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- iOS - 开发中调试小技巧
对于软件开发而言,调试是必须学会的技能,重要性不言而喻.对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中.不同语言.不同IDE.不同平台的 ...
- 关于win8开发的一点小总结
我今天做画面的时候,发现了一点小问题. 我在xmal文件里面加了一个CheckBox控件,设置IsChecked属性为True,并添加了Checked事件.Checked事件里面有对另外一个TextB ...
- android rss阅读器开发一点小技巧
这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override publi ...
- 分享几个asp.net开发中的小技巧
下面这几个,是在实际开发或阅读中发现的一些问题,有些甚至是有很多年开发人员写出的代码,也是很多人经常犯的错误.各位可以看看,你有没有躺着中枪. 第一个,对整型变量进行非null判断. // a 是in ...
- 我对android开发的一点小感悟小看法
“Android”,“Android开发”等等这些词成了时下最热的词,也是时下大众最关注最吸引人眼球的话题,当然,最热门的行业也意味着高薪,好的就业环境,但同时也意味着强大的竞争力! Android系 ...
- Android 开发中常用小技巧
TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是 用setTextSize() ...
随机推荐
- urllib.error.HTTPError: HTTP Error 403: Forbidden
问题: urllib.request.urlopen() 方法经常会被用来打开一个网页的源代码,然后会去分析这个页面源代码,但是对于有的网站使用这种方法时会抛出"HTTP Error 40 ...
- Asp.net_Webservice返回json
[WebMethod] public List<PictureManager> LoadPictureOne() { dataDataContext context = new dataD ...
- 【matlab】读写文件
save('pqfile.mat','M'); ('E:\我的坚果云\pqfile.mat','M'); 其他: http://blog.csdn.net/iqizheng/article/detai ...
- tomcat集群配置
http://www.finereporthelp.com/help/24/1/3/3.html#a:4.1
- maven和jdk版本不匹配
解决方法:http://blog.csdn.net/mafan121/article/details/51944346
- easyui中对于dialog页面传值的接收
dialog的功能是将B页面嵌入至A页面,这样,A页面作为B页面的父容器,所有的元素均可以被B页面访问 那么问题来了:我怎么获取B页面的链接参数呢? 其实很简单,只要找到B页面的存放容器即可: 代码如 ...
- php使用位与运算符【&】位或运算符【|】实现权限管理
权限值是这样的2^0=1,相应2进数为”0001″(在这里^我表示成”次方”,即:2的0次方,下同)2^1=2,相应2进数为”0010″2^2=4,相应2进数为”0100″2^3=8,相应2进数为”1 ...
- poj-----(2528)Mayor's posters(线段树区间更新及区间统计+离散化)
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 43507 Accepted: 12693 ...
- sql server中局部变量与全局变量的 申明与赋值(转)
来源:http://www.111cn.net/database/mssqlserver/36734.htm 例子:http://www.cnblogs.com/sunxi/p/4497493.htm ...
- Prim算法与Dijkstra算法的联系与区别
/* 图结构,邻接矩阵形式 */ ElemType nodes[n]; int edges[n][n]; prim_or_dijkstra( int index, bool usePrim ) /* ...