社区
Java EE
帖子详情
substr在dao层做,还是在service层做?
nuoboxgx
2010-01-19 07:23:32
如题
在DAO层写SQL时候直接用数据库的substr函数
和在service层里用java的substr函数
两者效率的高低?两者的可移植性?哪个更有利于分层?
期望高手分析下?
...全文
237
27
打赏
收藏
substr在dao层做,还是在service层做?
如题 在DAO层写SQL时候直接用数据库的substr函数 和在service层里用java的substr函数 两者效率的高低?两者的可移植性?哪个更有利于分层? 期望高手分析下?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dinghun8leech
2010-01-22
打赏
举报
回复
[Quote=引用 25 楼 nuoboxgx 的回复:]
请把贴子地址贴出来?
谢谢
[/Quote]
在这
http://topic.csdn.net/u/20091129/19/de9a1ed7-2693-4803-a926-ed0b3943b770.html
crazylaa
2010-01-22
打赏
举报
回复
?
nuoboxgx
2010-01-20
打赏
举报
回复
[Quote=引用 24 楼 dinghun8leech 的回复:]
补充一下,关于此类字符串操作在分层设计上仍旧是推荐搁在service层中,与我在2楼的回帖一个意思。
昨天看了一篇有关此类操作应该放在java中还是数据库中的讨论,就性能上讲,常见的数据处理可以放在数据库中,逻辑操作就不适于放在数据库中,性能负载要平衡,数据库负载不大时可以考虑这么做,还是要看实际情况。
[/Quote]
请把贴子地址贴出来?
谢谢
dinghun8leech
2010-01-20
打赏
举报
回复
补充一下,关于此类字符串操作在分层设计上仍旧是推荐搁在service层中,与我在2楼的回帖一个意思。
昨天看了一篇有关此类操作应该放在java中还是数据库中的讨论,就性能上讲,常见的数据处理可以放在数据库中,逻辑操作就不适于放在数据库中,性能负载要平衡,数据库负载不大时可以考虑这么做,还是要看实际情况。
nuoboxgx
2010-01-20
打赏
举报
回复
[Quote=引用 9 楼 yetaodiao 的回复:]
多么?
放数据库里吧
[/Quote]
多乎哉不多也
主要是为了分层,其次为了效率,应该怎么做?
小爽昵称已被占用
2010-01-19
打赏
举报
回复
奥,,来学习的。
我其实很低调
2010-01-19
打赏
举报
回复
至于你在什么地方做,这个如果你的数据只是单纯的为了截取字符串,哪么肯定用java的,毋庸置疑,,如果你要用到截取字符串之后再数据库里面进行一些逻辑操作,哪么就在数据库里面操作了。
feiyangdesky
2010-01-19
打赏
举报
回复
jf
我其实很低调
2010-01-19
打赏
举报
回复
数据库里面的 substr 效率肯定高,,至于移植性,肯定是java的substring要高了。。因为数据库有些不是substr而是substring,。
nht1028
2010-01-19
打赏
举报
回复
service吧,个人感觉
Johnson_Hong
2010-01-19
打赏
举报
回复
看具体情况而定,这种情况,我一般放在service里做
例如论坛标题forum.title
标题太长的时候需要显示20个字+。。。
我在dao里得到对象,标题是完整的,在service里对dao的结果做一下截取的处理;
有些时候需要返回的对象标题是完整的,那么在service的这些方法里面,就不做这个截取的操作。
dao接口相对比较稳定,service方法则加工利用dao去处理逻辑
岁月之梦
2010-01-19
打赏
举报
回复
我感觉是service 了 ,这样的话,后面维护就不懂数据库相关东西了,如果放dao老跟持久层关联,感觉不好!一家之谈...呵呵
colin_pxx
2010-01-19
打赏
举报
回复
其实dao层可以不用
studyM
2010-01-19
打赏
举报
回复
用java的substr做截取 虽然SQL的效率可能会高一点点点 但是移植性就低低低低了
nuoboxgx
2010-01-19
打赏
举报
回复
大家也是各抒己见啊
有大牛来说说吧?
最主要是对分层有利
java的substr
oracle的substr
db2的substr
各不相同
嘿嘿,所以我想直接从数据库取原字段,用java的substr做截取
这样就和数据库的substr分开了
也就是substr放在service层做
大牛们,给点建议啊?
jiayi_it
2010-01-19
打赏
举报
回复
现在我很喜欢用逆向工程,不知道好不好?
叶涛网站推广优化
2010-01-19
打赏
举报
回复
多么?
放数据库里吧
不吃鱼的熊
2010-01-19
打赏
举报
回复
放DAO层吧,效率高!
crazylaa
2010-01-19
打赏
举报
回复
看需求来了。
比如本来50~100字,只需要显示20字,则用java。
如果是查询条件,则还是建议用数据库来做,数据库上可以建相应的函数索引。
但你这里在DAO层写sql,无所谓了,反正换个数据库,不同的函数也不仅仅是substr了。
mengxq
2010-01-19
打赏
举报
回复
是可以无所谓的
加载更多回复(7)
Codeigniter(CI3)框架的 业务逻辑
service
层
扩展
考虑在controller和model中加一个业务
层
service
,由它来负责业务逻辑,封装...这样各
层
的任务就明确了:Model(
DAO
):数据持久
层
DAL(Data Access Layer)的工作,对数据库的操作都封装在这。
Service
:业务逻辑
层
BLL(B...
【校园商铺SSM-13】店铺信息编辑--
Dao
+
Service
+Controller+View
层
的实现
店铺信息编辑之
Dao
层
实现1. Shop
Dao
接口2. Shop
Dao
.xml实现类3. Shop
Dao
Test2. 店铺信息编辑之
Service
层
的实现1. Shop
Service
接口2. Shop
Service
Impl实现类3. Shop
Service
Test测试类3. 店铺信息编辑之Controller
层
...
CodeIgniter框架支持
service
层
比如说用户下订单,这必然会有一系列的操作:更新购物车、添加订单记录、会员添加积分等等,且下订单的过程可能在多种场景出现,如果这样的代码放controller中则很臃肿难以复用,如果放model会让持久
层
和业务
层
耦合...
如何让CI框架支持
service
层
本文主要介绍了在controller和model中加一个业务
层
service
,由它来负责业务逻辑,封装好的调用接口可以被controller复用,提高了通用的业务逻辑的复用性,设计到具体业务实现会调用Model的接口。 ...
让CI框架支持
service
层
但是随着业务越来越复杂,controller越来越臃肿,举一个简单的例子,比如说用户下订单,这必然会有一系列的操作:更新购物车、添加订单记录、会员添加积分等等,且下订单的过程可能在多种场景出现,如果这样的代码放...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章