在分模块开发时,当新增一条记录时,记录的id是在dao层去做还是在service层区做? [问题点数:100分]

Bbs1
本版专家分:39
结帖率 98.26%
Bbs1
本版专家分:10
Bbs10
本版专家分:104956
Blank
探花 2012年 总版技术专家分年内排行榜第一
Blank
铜牌 2012年8月 总版技术专家分月排行榜第三
2012年7月 总版技术专家分月排行榜第三
Blank
红花 2014年8月 高性能开发大版内专家分月排行榜第一
2013年11月 高性能开发大版内专家分月排行榜第一
2012年12月 Java大版内专家分月排行榜第一
2012年11月 Java大版内专家分月排行榜第一
2012年10月 Java大版内专家分月排行榜第一
2012年9月 Java大版内专家分月排行榜第一
2012年8月 Java大版内专家分月排行榜第一
2012年7月 Java大版内专家分月排行榜第一
2012年6月 Java大版内专家分月排行榜第一
2012年5月 Java大版内专家分月排行榜第一
2012年4月 Java大版内专家分月排行榜第一
2012年3月 Java大版内专家分月排行榜第一
2012年2月 Java大版内专家分月排行榜第一
2012年1月 Java大版内专家分月排行榜第一
Bbs7
本版专家分:11491
Blank
金牌 2018年7月 总版技术专家分月排行榜第一
2018年6月 总版技术专家分月排行榜第一
Blank
红花 2018年9月 Java大版内专家分月排行榜第一
2018年8月 Java大版内专家分月排行榜第一
2018年7月 Java大版内专家分月排行榜第一
2018年6月 Java大版内专家分月排行榜第一
Bbs7
本版专家分:10866
Blank
红花 2018年5月 Java大版内专家分月排行榜第一
2018年4月 Java大版内专家分月排行榜第一
Blank
黄花 2019年1月 Java大版内专家分月排行榜第二
2018年11月 Java大版内专家分月排行榜第二
2018年7月 Java大版内专家分月排行榜第二
2018年6月 Java大版内专家分月排行榜第二
Blank
蓝花 2018年3月 Java大版内专家分月排行榜第三
2018年2月 Java大版内专家分月排行榜第三
2018年1月 Java大版内专家分月排行榜第三
讨论一下 cache 应该放在 service还是 dao 层吧
我个人倾向于放在 <em>service</em> 层。 因为虽然 hibernate 和 iBatis 都提供了 cache 机制,但是他们提供的方式都不是很完善。而且还有可能会使用其它 <em>dao</em> 的技术方案。所以放在 <em>service</em> 层应该更好一些。 [color=brown][b]注:[/b] cache 话题很大,我们只讨论 business layer 的 cache 问题,即 <em>service</em> ...
十四、WEB项目开发之合理规划Controller层、Service层、Dao层的一点小感悟
  最近在开发项目的时候,遇到一个问题:   一般来说Controller层控制视图层,向前端返回影响前端视觉效果的数据。Controller层直接与Service层交互,通过Service层返回的一些状态变量,决定向前端返回什么样的状态码。Service层最简单的状态变量就是“true”和“false”,比如插入成功<em>还是</em>失败。但有时候仅仅靠这两个状态变量,明显无法满足需求,比如我在插入之前,要...
单元测试总结:Dao层、Service层和Controller层
对Dao层、Service层、Controller层进行单元测试,都需要加入如下注解: @ContextConfiguration({&quot;classpath*:/conf/applicationContext.xml&quot;, &quot;classpath*:/conf/spring-mvc.xml&quot;}) @RunWith(SpringJUnit4ClassRunner.class) //调用Spri...
为何有DAO与Service层?为何先搞Da…
我们都知道有了Hibernate后,单独对数据的POJO封装以及XML文件要耗损掉一个类(Orz意思是你需要精力写一个类)。然后,在大部分的服务中,我们又需要单独写一个Dao接口,并加个DaoImpl实现来操作数据库(好吧,再耗损2个类)。紧接着,我们发现其实Service层也要单独写一个类(再加1个)。   一共4个类外加1个xml……这不是作死么,5个文件。人家好端端地写PHP可能在一个php
DAO层单元测试
今天我将展示一下我是如何在实际中对<em>dao</em>进行单元测试的首先我们来确认一下<em>dao</em>需要什么样的环境,我的<em>dao</em>是用Spring+hibernate来构建的,而对应的数据源是oracle9。所以要进行<em>dao</em>的测试我需要从Spring的连接oracle的context中获取<em>dao</em>的实例出来,这里我使用的是spring-mockspring-mock使用比较简单的,只需要设置spring的配置文件路径就可以...
SSH底层DAO实现添加功能
public boolean insert(Object obj,String table,String[] array1,String[] array2,String[] array3,Integer[] array4,String[] array5,Date[] array6) { Class model; try {//这里我利用上了反射机制 model = C
使用IDEA搭建maven+SSM(spring+springMVC+mybatis)项目时,出现Service注入出错问题
错误信息:org.springframework.beans.factory.BeanCreationException: creating bean with name ‘itemController’: Injection of autowired dependencies failed; nested exception is org.springframework.beans.facto...
Hibernate和Spring整合的时候,事务应该放在Service还是Dao
1、Hibernate和Spring整合的时候,事务应该放在Service<em>还是</em>Dao 2、最佳实践      事务的管理应该放在Service 3、放在Service层的原因       因为一个Service可能会调用多个Dao去操作数据库。如果在一个方法里面使用了两个<em>dao</em>,其中一个<em>dao</em>执行完成后,发生了异常。另一个<em>dao</em>还没有执行。这个时候应该让事务回滚。如果事务的管理放在了d
dao层和service层中对应操作
进行代码检查的时候,被同事发现了一个问题,<em>dao</em>层中不管是update,insert,delete<em>还是</em>select操作,统一用的是,但是我在使用的时候结果并没有错误,但为了规范,在此做一下总结,贴出代码留个教训。 1、select操作 <em>service</em>层中:selectOne—&amp;gt;查找<em>一条</em><em>记录</em>;select—&amp;gt;查找多条<em>记录</em>;返回值—&amp;gt;hashmap Map&amp;lt;String, O...
hibernate条件查询service层和daoceng底层封装
用Hibernate写底层接接口的时候,为了使<em>dao</em>层的代码便于维护,增加代码的复用性,会写一个<em>dao</em>层的基类以及基类的接口。 在这里我举一个通过ID查询实体的方法基类的写法: 用ID查询收据库得到实体的方法:(调用<em>dao</em>层基类) public vo<em>id</em> findObjectById() { IElecTextDao elecTextDao=(IElecTextDao) Servi
springmvc 中dao层和service层的区别
springmvc 中<em>dao</em>层和<em>service</em>层的区别
关于Mybatis中foreach的用法以及与service中循环调用dao层中的差异
导读: 在实际开发过程中遇到需要批量插入、批量更新、批量删除等操作,纠结于是在<em>service</em>层中直接调用<em>dao</em>层的方式<em>还是</em>直接使用Mybatis中的标签,因此特地做了一个实验。 做两个批量插入操作,一个是在<em>service</em>层中循环调用<em>dao</em>层的方法,另一个是在Mybatis中使用标签做插入操作。 代码如下:<em>service</em>层对应的代码: public
java EE的三层结构:web层、service层、dao
我们常常提到java EE的三层或者四层结构。 四层架构: 展示层(web层)、业务逻辑层、数据访问层、信息资源层 四层架构在是开发企业应用时使用的非常经典的划分模式。 web层负责前端展示和用户请求的处理。mvc是一个设计模式,主要用户构建用户界面,目的是把展示逻辑和逻辑分离。web层通常会使用MVC模式进行构建,经常使用的mvc框架包括spring mvc,struts等,都是在web
写项目的时候是先写Controller还是pojo还是dao》???
找了一下并没有具体的答案,说一下个人的见解 如果有具体的需求那应该是先需求分析,构建pojo和<em>dao</em>层,然后进行<em>service</em>和Impl的设计,这样能保持良好的延展性,但相反的是在实现特定功能的时候效果不好。 而对应某类特殊的功能,先从跳转的角度考虑的话应该先设计controller,但先设计controller的缺陷就是设计出的serivece和<em>dao</em>复用性不强,容易出现相同的功能写多个函数...
Java中dao层和service层的区别
今天看了一篇文章,写的是关于Java中<em>dao</em>层和<em>service</em>层的区别,写的是相当好。忍不住跟大家分享。 <em>service</em>是业务层,<em>dao</em>是数据访问层。 记得以前刚学编程的时候,都是在<em>service</em>里直接调用<em>dao</em>,<em>service</em>里面就new一个<em>dao</em>类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。 我们都知道,标准主流现在的编程方式
oracle及mysql+mybatis新增一条记录并获取该记录id
在特定的业务需求中,我们有时需要获取刚<em>新增</em><em>记录</em>的<em>id</em>,在mybatis框架下可以通过<em>id</em>Property配置获取到,而对于mySQL和oracle数据库,获取方法有一点区别,mySql可以通过last_insert_<em>id</em>获取,oracle则通过seq.nextval获取,获取方式如下: 一:mysql获取<em>新增</em><em>记录</em><em>id</em>的例子 Mybatis映射文件中SQL语句: in
框架学习(1)——service层,dao层和service实现类进行数据库操作
浅谈对java框架设计中<em>service</em>层、<em>dao</em>层和<em>service</em>实现类作用的理解以及好处
事务注解 @Transactional一般的话为什么都加在service层而不加在dao
原文地址:https://blog.csdn.net/panyangxu/article/details/77431873 什么是事务? 在数据库中,所谓事务是指一组逻辑操作单元即一组sql语句。当这个单元中的一部分操作失败,整个事务回滚,只有全部正确才完成提交。判断事务是否配置成功的关键点在于出现异常时事务是否会回滚 事务四大特性 1. 原子性(Atomicity) 原子性是指事务是一个...
[随记]被区分对待Manager和Service层头疼了两天
本打算在架构整理时使用类似Struts的DispathAction的功能,使用一个参数转发来决定调用Service的方法。因为DispathAction在struts的意图就是减少出现的类。但是想来想去,这样的话就必须多实现一个Manager层了,每一个Service都必须通过Manager来调用,多了很多近乎“光秃秃”代码的Proxy类,仅做一下转发的Manger。如果以后维护起来,那么页面修改
hibernateDAO层基本的增删改查
完整的项目放在了我的github上 hibernate版本1.4 下面是userDAO 即对user表进行增删改查 public class UserDAO { public static vo<em>id</em> insertUser(User user) { Transaction tx = null; try { Session session = HibernateSe
ecache控制标签放在service还是dao
ecache控制标签放在<em>service</em><em>还是</em><em>dao</em>层 1. <em>dao</em>层 @Repository public class DianliDataDaoImpl extends BaseDaoImpl implements DianliDataDao { @Overr<em>id</em>e // @Cacheable(value = "dianl<em>id</em>ushuCache", key = "#days"
同一个service调用多个dao的事务问题
昨天发现在用一个 <em>service</em> 中 调用 多个 <em>dao</em> 的时候,事务不能正常处理,数据库不能回滚查阅了一些资料,开始以为是对异常捕捉的问题参见:http://dev.csdn.net/article/82/82479.shtm 于是在action中也对<em>service</em> 的异常进行捕捉,但是无效. 又再次GOOGLE,在 http://www.javaeye.com/topic/1736
SSH中为什么action需要用多例而dao层和service层为什么就用单例就可以
很简单的道理,就跟你自来水一样,有很多的水龙头,但水管只有一个。 为啥要很多水龙头,因为有多个人同时用;为了避免长队,只能这样来分担压力 为啥只有一个水管,易维护,集中处理。 使用单例,是由于没必要每个请求都新建一个对象,这样既浪费CPU又浪费内存;之所以用多例,是为了防止并发问题;即一个请求改变了对象的状态,此时对象又处理另一个请求,而之前请求对对象状态的改变导致了对象对另一个请求做了错误
spring+mybatis数据源切换【service层以及controller层】
最近项目需要切换数据源,查询了相关资料后做了一个简单的数据源的切换。 一、基本的简单配置 首先是我认为比较好的切换是在<em>service</em>层进行切换,基本思想是利用spring的AbstractRoutingDataSource类进行datasource的选择,就像map一样有个key,value,AbstractRoutingDataSource是有个determineCurrentLookupK
添加一条数据后,如何获得新增加数据自增id的值
public int insertDemo(int u<em>id</em>){ int flag=0; String sql="insert into capsule (user<em>id</em>) values("+u<em>id</em>+")"; try{ con=util.openConnection(); Statement st=con.createStatement(); //使用JDBC 3.0 getG
【心得】DAO层和Service层
DAO层和Service层联系与对比 在MVC和三层框架里的DAO大层分为DAO层和DAOImpl层,Service大层分为Service层和ServiceImpl层;有时候感觉没有那么大必要,分这么多层,太麻烦,有的一个层才写一两句话,这个怎么理解呢,好比一本书,写那么多页,其实也可以把所有的内容都写在一张纸上,只不过不方便,不好找。有目录,有页码,方便查找,修改,维护; 我的结构目录如下:
DAO层,Service层,Controller层、View层协同工作机制
DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。 Service层:Serv
为什么action使用的多例模式,但是service层和dao层用的是单例模式
使用单例和多例的判定条件是并发访问时会不会对类中公共属性进行修改。如果有可能修改,那就最好用多例,否则会出现各种异常情况。 action中一般会有前端对应的属性,这个一般是action的成员变量,如果是单例访问,所有的访问公用一个action实例对象,当然也公用里面的成员变量和方法,在使用成员变量时就有可能出问题了,比如多个请求同时对同一个属性进行修改,那不就乱了?因此在action层采用多例来
Spring的事务关于配置到servicedao中的区别
Spring事务为业务逻辑进行事务管理,保证业务逻辑上数据的原子性。 事务得根据项目性质来细分:事务可以设置到三个层面(<em>dao</em>层、<em>service</em>层和web层)。  第一:web层事务,这一般是针对那些安全性要求较高的系统来说的。例如电子商务网站。粒度小,一般系统用不着这么细。  第二:<em>service</em>层事务,这是一常见的事务划分, 将事务设置在业务逻辑上,只要业务逻辑出错或异常就事
常用的增删改查的实现之dao
public interface IFoodTypeDao { //增 输入:一个对象 输出:无 vo<em>id</em> add //删 输入:<em>id</em> 输出:无 vo<em>id</em> delete(int <em>id</em>); //改 输入:一个对象 输出:无 vo<em>id</em> update(FoodType foodType ); /
java项目中有哪些层?我知道有daoservice、util,还有什么?作用都是什么?
<em>dao</em>中存放于于数据库直接接触的类,maps中存放查询时使用的sql,<em>service</em>中存放服务实现的详细方法,action中存放某个功能的整体的实现方法。action调serveice,<em>service</em>调<em>dao</em>,<em>dao</em>要用到maps中的查询语句。util中存放最基本模板,以便调用。
Mybatis Dao层参数传递的三种方式
本文来自收集整理: UserDao接口有一个方法  Public User selectUser(String name,String area); 第一种:            UserDao接口有一个方法  Public User selectUser(String name,String area);            对应的Mapper.xml  sel
Java中DAO层、Service层和Controller层的区别
DAO层: DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。 Service层: Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不...
JAVA-DAO实现批量删除
表结构CREATE TABLE `user` ( `u_<em>id</em>` int(11) NOT NULL AUTO_INCREMENT, `u_name` varchar(255) NOT NULL, `u_password` varchar(255) NOT NULL, `u_realname` varchar(255) NOT NULL, `u_email` varchar(255)
JAVA SSH开发架构中Action层,Service层,modle层,Dao层的功能区分
首先这是现在最基本的分层方式,结合了SSH架构。modle层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库(增删改查)。Service层:引用对应的Dao数据库操作,在这里可以编写自己需要的代码(比如简单的判断)。Action层:引用对应的Service层,在这里结合Struts的配置文件,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。
微服务(四)--dao层一
目录在众多的orm框架中 ,mybatis 和 jpa 是我很喜欢的两个框架,我们试着将 mybatis和jpa 同时 引入到 工程中,mybatis负责复杂查询,jpa负责基本的crud 和排序分页之类的底层建表规范数据库是 mysqlcreate table T_DEMO_SAMPLE ( ID bigint(20) not null auto_incr
利用hibernate对dao层和service层的重用
如下<em>dao</em>层的重用: baseDao
MyBatis 使用逆向工程自动生成项目的实体层、dao
一、前言 之前写过一篇文章是关于MyBatis的增删改查的 点击链接可以进入之前比较 low 版本的基础CRUD 但是实际开发并不太需要写<em>dao</em>层、实体层代码的,主要就是使用了MyBatis提供的架包 点击进入 mybatis逆向工程之生成文件解释 下面给出使用逆向工程的全部过程 二、演示和代码 ①创建一个java工程 给工程起个名字,然后直接点击 finish ②创
SSM框架下,spring中servicedao层的关系
【部分转载】1、java web 中<em>dao</em> 层和<em>service</em>层都使用接口,是否是为使用接口而使用接口?一个<em>dao</em>或者一个<em>service</em>都是一个接口,然后再一个类去实现,为什么不直接使用一个类呢?在入门级(单表)的SSM+maven代码里面,我们甚至可以看到<em>dao</em>和<em>service</em>的接口类中代码内容都是一样的,这个作何理解?java web中的三层架构:其中,表示层一般是采用 MVC 架构模式,业务...
使用SSM三大框架开发项目时,创建的各个层是干什么用的?Controller层、Service层、Mapper层、Model层、Entity层、Dao层各有什么作用?
SSM是sping+springMVC+mysql集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 <em>service</em>层。存放业务逻辑处理,也是一些关于数据库处理的操作,其主要是存放了查询数据的各种方法,但它不是直接和数据库打交道,他有一个接口和还有接口的实现方法,在接口的实现方法中需要导入map...
Re: 讨论一下 cache 应该放在 service还是 dao 层吧
Cache 这个东西,看似简单,但是具体实施起来却是很麻烦,有许多方面的因素需要考虑,很多实施不好的 cache 会成为系统故障和维护噩梦的重要源头。 所以我的原则是,只在一个层面上提供 cache 功能,其它的层面都不提供,以避免其复杂性并且降低耦合性。 就像各位所讲到的那样,cache 包括很多层面,而且会有一些特殊情况,这些应改需要根据具体情况具体分析了。[color=blue]这里我主...
Springboot多模块搭建 一DAO构建
DAO Dao层我创建的是一个Spring Initializr项目 目录结构 image.png 这里的UserMapper是web层自动生成的 附上pom 继承自parent ,Mybatis不需要jdbc依赖 ,引入之前的pojo依赖 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;pro...
在不是控制层里面controller里面使用service或者dao。可以讨论一下
    首先说一下ApplicationContext这个类,bean工厂,applicationContext说白了就是对beanFactory的扩展,也就是一个spring容器,而且applicationContext是单例的,项目中主要包含一个webApplicationContext和spring的DispatchServlet的一个容器。      配置一下,就这么一句话在spring里...
dao层和service层的区别
在业务层中是不应该含有具体对象,最多只能有引用,如果有具体对象存在,就耦合了。当那个对象不存在,我还要修改业务的代码,这不符合逻辑。好比主板上内存坏了,我换内存,没必要连主板一起换。我不用知道内存是哪家生产,不用知道多大容量,只要是内存都可以插上这个接口使用。这就是MVC的意义。只要没访问数据库的,都要在业务里写。
Spring企业课五,spring+hibernate实现dao层,service层以及事务自动管理
在前一节的学习中,我们用hibernate实现了<em>dao</em>层。但是我们在做项目时,不只有<em>dao</em>层,还有<em>service</em>层。同时,我们还需要考虑到对数据库操作时,事务回滚等一系列问题。原本需要我们自己处理,但现在我们把这些工作交给框架来完成。我们需要bean,<em>dao</em>,servicc这三个包。bean我们还使用account@Entity @Table(name=&quot;tbl_account&quot;) public ...
mvc dao层、service层 到底怎么写?
首先解释面上意思,<em>service</em>是业务层,<em>dao</em>是数据访问层。 呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在<em>service</em>里直接调用<em>dao</em>,<em>service</em>里面就new一个<em>dao</em>类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才是工作中的重中之重。 我们都知道,标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描
关于ssh框架整合的Dao层和Service层的功能区别的思考
在一个ssh的工程中,用到Dao层,它里面的类的功能主要是访问 数据库的. 而Service层,中的一个类,往往封装的是一套业务逻辑类,完成 整个工程的一项业务的任务,它能控制数椐的一些要求:按什么 顺序访问,按什么样的结果返回, ...
根据章节id查找字段信息(Action+Service(Manager) +Dao三层的功能理解)
1、Dao层实现数据库查询方法,返回值类型为List泛型数组 //根据章节ID查询字段信息 public List searchZdList(String zj<em>id</em>) { String hql = "from ShfwZlbdZd t where t.zj<em>id</em>=? order by t.xh asc"; return getHib
Mybatis中添加一条数据的同时返回自增主键ID
&quot;在Mybatis中,添加<em>一条</em>数据的同时返回其自增主键ID值&quot; 方法:在mapper.xml文件中进行配置keyProperty属性. [code=&quot;java&quot;] insert into user(userName,password) values(#{userName},#{password}) [/code] ps:userGeneratedKeys=&quot;true&quot;(...
DAO层最好带上try和catch
以前看视频,有个人说,正常开发,方法体基本上都要放在try catch中,当时也就是听着,没啥感觉。 前段时间看到知乎上一个关于try和catch的帖,问项目中到处都是try catch是不是一种常态,然后众说纷纭。。。 刚才写hql查询,把类名的首字母小写了,我当时是知道这个错误的,但没有及时改正,后来就给忘了,然后。。。就是程序出毛病了,而且我没有catch,所以搞了好久都不知道哪儿出了毛
搭建DAO层和Service层代码
第一部分建立实体和映射文件   1 通过数据库生成的实体,此步骤跳过,关于如何查看生成反向工程实体类查看SSH框架搭建教程-反向工程章节     Tmenu和AbstractorTmenu是按照数据库表反向工程形成的JAVA实体; 在形成实体的时候注意 1 命名空间 2 要注意要把实体映射文件添加到Hibernate的配置文件写入,分为如下两种情况,一般S
解决service 层接口无法被注入调用
遇到<em>service</em>层接口通过实现类impl实现,无法调用注入<em>service</em>层时,请注意在impl实现类里面注解加上实现层调用名如以下
浅析Java中dto、daoservice、controller的四层结构
目前我所在的项目组采用的是SpringBoot框架,前端使用BootStrap+jQuery。 SpringBoot是BS开发框架之一,不用单独开启tomcat服务器,目前比较流行,一般开发大型项目时会将所有的功能细分为许多小模块,每个模块都有dto、<em>dao</em>、<em>service</em>和controlleer层,有些模块还会加入val<em>id</em>ate层。 先给大家看个小模块的目录结构。 首先,最底层的就是...
SSH框架 DAO注入失败 ---总结
开始运行SSH框架,发现<em>service</em>调用<em>dao</em>层时候一直报空指针错误,各种查看配置文件和调用,终于发现了问题 在action层里面写了一句this.setUserService(new UserServiceImpl()); 既然是注入,就不用new一个了 下面附上Java代码 UserAction.java private User user=new User(); priv
spring事务管理与servicedao做try……catch异常抛出
在配置了事务代理的Service业务逻辑实现类的方法里,若将异常捕获,并且在catch块中不对事务做显式提交(或其他应该做的操作如关闭资源等)=生吞掉异常;         spring的事务边界是在调用业务方法之前开始的,业务方法执行完毕之后来执行commit or rollback(Spring默认取决于是否抛出runtime异常或unchecked异常)。        如果抛出ru
sql是不是可以写在service层?虽然service是业务层
我记得我曾经学javaweb的时候,也是被这个问题困惑过大半年,<em>service</em>层到底要不要出现sql或者Hibernate的hql语句? 我曾经有和你一样的困惑,比如有一个UserDao的接口,假如我想查询User,根据Id查询可能UserDao就需要设置一个findUserById(Integer <em>id</em>)这样的方法,根据用户名查询就是findUserByName(String name),根据
Spring Web 项目给Service层和Dao层创建接口的意义
对于在web 项目中,Service层和Dao层用接口来维护。相信有很多人都会这么认为:我做了几年项目,从没发现业务代码中Service或Dao接口有第二个实现类。写一个方法需要先在接口声明一次,再实现一次,很麻烦,不如直接实现。   实际意义: 接口的优势大家应该都明白:只关心接口的调用,而不用去关心内部实现;在团队开发时,可以更好的实现同步开发。提供方和使用方只要前期定义好接口,前后...
java中dao层和service层的区别,为什么要用service
读了下面的文章 让我豁然开朗我能不能理解 ssh中<em>service</em>就相当于与jsp+servlet+<em>dao</em>中的servlet???转文: 首先解释面上意思,<em>service</em>是业务层,<em>dao</em>是数据访问层。 呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在<em>service</em>里直接调用<em>dao</em>,<em>service</em>里面就new一个<em>dao</em>类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以
基于Struts2中的Action层、Service层、Dao层理解在SpringMVC对应的四大注解
@Component、@Repository @Service、@Controller   看字面含义,很容易却别出其中三个:   @Controller 控制层,就是我们的action层   @Service 业务逻辑层,就是我们的<em>service</em>或者manager层   @Repository 持久层,就是我们常说的DAO层   而@Component (字面意思就
插入数据:返回记录id遇到的问题
<em>service</em>层的写法 <em>dao</em>层写法: xml中的写法: 但是返回包错: 2018-01-13 11:16:46,303 ERROR [500.jsp] - Mapper method 'com.thinkgem.jeesite.modules.course.<em>dao</em>.CourseTermTimeDao.insertAndGetId' has an unsupported r
关于使用ssh框架时,pojo、daoservice三层的关系 .
文章来源于网络,仅用于学习: DAO是底层与数据库直接交互的部分,serivce是又对DAO进行了一次封装。而<em>service</em>是暴露给action的部分。aciton里面调用<em>service</em>,<em>service</em>调用DAO。 1,<em>dao</em>和<em>service</em>对应        一般情况
JavaWeb三层架构中Service和Dao层对象单例化可行性
声明:以下个人观点,仅作参考;    阅读正文的前提知识:   一. 单例模式:   单例概念(百度): 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。 Java中的单例模式: 从项目开始到结束, 某一Java类仅产生一个实例对象; java中的实例一般通过ne...
mvc dao层、service层 到底怎么写?
转自:http://blog.sina.com.cn/s/blog_4adc4b090101kvek.html 首先解释面上意思,<em>service</em>是业务层,<em>dao</em>是数据访问层。 呵呵,这个问题我曾经也有过,记得以前刚学编程的时候,都是在<em>service</em>里直接调用<em>dao</em>,<em>service</em>里面就new一个<em>dao</em>类对象,调用,其他有意义的事没做,也不明白有这个有什么用,参加工作久了以后就会知道,业务才
事务为什么加在service层而不加在dao
**事务为什么加在<em>service</em>层而不加在<em>dao</em>层**事务注解 @Transactional一般的话都加在<em>service</em>层,下面是我的理解。什么是事务?在数据库中,所谓事务是指一组逻辑操作单元即一组sql语句。当这个单元中的一部分操作失败,整个事务回滚,只有全部正确才完成提交。判断事务是否配置成功的关键点在于出现异常时事务是否会回滚
Spring对Controller、Service、Dao进行Junit单元测试总结
Spring对Controller、Service、Dao进行Junit单元测试总结​ 所有用Junit进行单元测试,都需要下面的配置@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:applicationContext.xml"})​ applicationContext
基于javaEE项目中Dao层,Service层,等的总结
MVC结构: web:客户端网页,是表层的东西,可接收和返回数据给用户 domain:主控制层,用户数据库交互的核心中转站 <em>service</em>:业务逻辑层,处理数据逻辑,验证数据 <em>dao</em>:持久层,读写数据库 web发出请求—&amp;gt;domain接收控制数据转向—&amp;gt;<em>service</em>验证数据正确—&amp;gt;<em>dao</em> Dao层:使用Hibernate连接数据库,操作数据库(添.删.改.查) S...
使用Spring的Service注入Dao接口需要注意的细节问题
... UserService] found for dependency: expected at least 1 bean which qualifies as autowire cand<em>id</em>ate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowi
dao层一般是不是抛运行时异常比较好啊
<em>dao</em>层一般是不是抛运行时异常比较好啊5 <em>dao</em>层一般是不是抛运行时异常比较好啊 Hibernate  2009年7月15日 21:47 tsxm  2  0 0 1 添加评论 关注(0) 5个答案按时间排序按投票排序 00 DAO不要抛 Checked Exception, 因为一般
spring service 层调用service 层是否合理
对于模块划分,我的观点始终是看项目的规模,团队的规模。  如果1、2个人开发的,模块很容易划分,基本上都是纵向划分(一个模块的前端、action、<em>service</em>、orm都是一个人开发),这样划分,随便你怎么调用,只要不影响后期维护,不影响性能,都不会出现太大问题。  如果是多人协作的项目,规模比较大,你的<em>service</em>如果调用你自己的多个<em>dao</em>,你自己清楚,也没有太大问题,如果你调用不是你
dao层和service层的同时存在的意义
使用<em>service</em>层接口(实现了某个逻辑的代码的组合)是为了让表示层不依赖于业务层的具体实现; 使用<em>dao</em>层接口(做数据库读写的)是为了让业务层不依赖于持久层的具体实现,这样就能实现Spring IOC 的最大功能化。
Java分层思想:Action层, Service层 ,modle层 和 Dao层的功能区分
Dao主要做数据库的交互工作:DAO层中封装了数据库的增删查改方法 一般分DAO接口(定义数据增删查改操作)和DAOImpl实现类(具体实现增删查改方法) Model 是模型 存放你的实体类:存放类似JavaBean的类,对外用get和set方法访问Service 做相应的业务逻辑处理:Action是一个控制器:一般放main方法执行程序 调
SpringBoot项目使用注入的Service或DAO时值为空
最近写了一个爬虫程序,实现通过搜狗微信获取微信公众号内容。首先可以正确获取内容到控制台,但当想把内容存储到数据库时遇到了问题。我把这个爬虫程序放到我已有的一个SpringBoot项目中,这里已有news新闻表的DAO和Service,在项目的Controller或者数据库初始化部分,想要往news表里插入数据,只需要@Autowired NewsDAO或者@Autowired NewsServic
Dao层mapper开发:
如果不写实现类,他会使用代理的方式生成实现代码。想要使用mapper开发,必须遵循以下原则:①  接口的名字建议和mapper映射文件的名字保持一致,并且在同一目录下, cn.hd.<em>dao</em>.UserMapper②  接口中方法名必须和mapper中的<em>id</em>保持一致③  方法的返回值要和配置文件中的resourceType保持一致。④  参数...
Action+Service +Dao三层的功能划分
1. Action/Service/DAO简介:       Action是管理业务(Service)调度和管理跳转的。       Service是管理具体的功能的。       Action只负责管理,而Service负责实施。       DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,<em>dao</em>只是封装增删改查
Maven分模块开发应注意的几点
1、必须要有一个父工程,该父工程打成war包,并且该父工程只提供一个pom.xml文件,为其子工程提供jar包、 2、子工程除了web模块外,其他模块如entity,<em>service</em>,<em>dao</em>模块都打包成jar包,web模块需要打包成war包。 3、注意模块和模块之间的依赖关系,如<em>service</em>层必须依赖<em>dao</em>模块jar包,并且要在resource里配置<em>dao</em>和<em>service</em>两模块的配置文件(ap...
Spring配置事务在Dao层和Service层
【转载自http://www.blogjava.net/hk2000c/archive/2007/11/01/157508.html】  【感谢原作者:hk2000c】  Spring通过AOP实现声明式事务管理。通常通过TransactionProxyFactoryBean设置Spring事务代理。我们需要一个目标对象包装在事务代理中。这个目标对象一般是一个普通Java对象的bean。当我们
servicedao层方法的命名规约
-
controller的异常处理以及service层的事务控制
最近写代码涉及到一些事务,上午终于把代码给理顺了,之前不太清楚在哪里做异常处理,导致代码遍地try-catch,相当难看。 <em>还是</em>基于controller-<em>service</em>-<em>dao</em>三层来写代码,从入口开始,controller层的方法对应的是某个url,面向的是应用人员,应该返回他们能读懂的信息,所以controller必须做异常处理,一般来说会有统一的异常处理方法; <em>service</em>层面向...
SSH 中spring配置文件DAO层配置出错
Failed to convert property value of type [$Proxy13] to required type [com.llm.<em>dao</em>.UserDAOImpl]\; 找不到问题代码了,因为已经解决了。。。大概就是因为自己写的DAO层的文件名是UserDAO而不是UserDao,所以在spring配置文件applicationContext.xml中会对UserDAO进行...
mybatis 调用dao层报错
错误信息: org.apache.ibatis.binding.BindingException: Inval<em>id</em> bound statement (not found):  原因: maven编译时没有将mapper.xml 文件打包到classes 目录下,导致<em>dao</em>映射不到mapper.xml文件。 在项目的pom下添加如下打包配置解决问题:
使用maven构建项目,core,dao,service分别打包
使用maven管理项目,<em>dao</em>、<em>service</em>等分开管理 搭建了私服和镜像,地址http://192.168.1.100:8081/nexus/content/groups/public,详见settings.xml 项目使用SpringMvc,数据库为MySql,测试库为springmvc_test,生产库为springmvc,ORM采用Hibernate 打成war包后,输入http://localhost:8080/helloworld/user/users,能显示生产库的内容,即为ok 本项目仅仅是示例,供学习使用 打包时候,运行clean package -DskipTests,否则报错,测试用例在eclipse中运行没问题,在打包时运行缺少jar包
service层异常的处理
1、在<em>service</em>方法里面如果对异常进行了捕获的话,该事务是不会进行回滚的       默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚。         spring aop  异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能进行回滚,默认情况下aop只捕获runtimeexception的异常,但可以通过配置...
JFinal如何分层?想了好久都没搞明白,贴一波大神的理解
JFinal如何分层? JFinal 项目通常建议至少 MVC 三层,Controller 是控制层,只做这几件事: 1:使用 getPara 系列方法获取请求参数 2:使用得到的 para 做为参数(如果有需要的话),调用业务层 3:将业务层调用的结果利用 setAttr 存入 request 4:render     Model 是业务层,除了封装业务以外主要注意如下几点:
DAO层、Service层、Controller层、View层介绍
DAO层 DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。  Service层 Ser
SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层
SSM是sping+springMVC+Mybatis集成的框架。 MVC即model view controller。 model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。 <em>service</em>层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库...
SpringBoot 多模块 Dao 层测试
     源码下载地址: 链接: https://pan.ba<em>id</em>u.com/s/1v5FmbEvWtQXmv1DGnIOPvw 提取码: cxtn      CSDN下载: https://download.csdn.net/download/zcf980/10719897      在网上找了很久都没找到关于SpringBoot多模块的有效单元测试方法, 后来自己摸索了很久才解决, 写两篇...
DAO和Service层的一些解释
1,<em>dao</em>和<em>service</em>对应         一般情况下,Hibernate DAO只操作一个POJO对象,因此一个DAO对应一个POJO对象。 Service层是为了处理包含多个POJO对象(即对多个表的数据操作)时,进行事务管理(声明式事务管理)。Service层(其接口的实现类)被注入多个DAO对象,以完成其数据操作。  2, Service之有无            
spring quartzy的spring注入问题(dao层和service层)
许久没有写博文了,今天来写写,毕业设计中遇到的某个小问题,及解决方法。 毕业设计中涉及到spring的定时器quartzy的使用, 遇到的问题是:quartzy中不能使用spring注入的方式注入<em>dao</em>层和<em>service</em>层,原因是spring在加载的时候先加载quarzy,后加载bean。查看了一下源代码:org.springframework.scheduling.quartz.JobDetail
spring使用AOP技术对DAO层操作进行增强功能
AOP的概述1. 什么是AOP的技术? * 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程 * AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 * AOP最早由AOP联盟的组织提出的,制定了一套规范.Spring将AOP思想引入到框架中,必须遵守AOP联盟的规范 * 通过预编译方式和运行期动态代理实
利用Spring AOP自定义注解实现服务层和controller层日志以及异常记录功能
项目开发中我们需要<em>记录</em>各个服务的调用日志,作为审计<em>记录</em>或者供debug查看,或者性能以及使用率分析等等。通过<em>记录</em>日志和异常,我们能找出,哪些功能在哪个时间段被哪些模块调用,入参都有哪些,反应时间多长,这样我们就能比较快的找出项目问题所在或者优化项目。那么如何实现这种功能,Spring AOP给我们提供了现成的方法。 当然实现的方法有很多,最直接的莫过于在每个调用的进入和对出都<em>记录</em>一天日志(log...
controller层的引用service层一直报空指针问题
注入的<em>service</em>层一直报空指针的错误,原因就是controller层有个方法是private的方法,将这个private改为public问题即可解决解决后的:
spring实现service层日志管理
//1.自定义注解 package com.zipx.util.systemlog; import java.lang.annotation.Documented;   import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotat
Mybatis(dao)缓存|mybatis+redis(dao+service)缓存验证
<em>dao</em>,<em>service</em> 缓存设置,验证,代码
关于Dao层和service层的接口问题
在项目中发现Service层每个实现类都有一个接口,网上搜搜发现Dao层也存在这样的情况。在我们项目中,我们使用的是Hibernate原生的Dao,并没有添加额外的接口。而我们的<em>service</em>层中业务实现类和接口在绝大多数的业务场景中都是一一对应的,没有接口是有多个公共实现类的,那么我们的接口设计有什么意义呢?我现在只能想到一下几个缺点:1. 维护繁琐。如果实现类的方法需要做涉及到参数或者方法名称...
关于分为web层,接口,还有service层的多个maven项目中,报错Java.lang.NullPointerException
使用断点,进行盘查,进一步查看异常为invocationtargetexception,针对我这个特例发现原因是因为在<em>service</em>层中用了多个mapper文件中的方法,但是只写了一个@Autowired注解,这个搞到我很头疼,特写这个以此告诫大家,千万要记住用几个就要写几个@Autowired注解。...
关于SpringBoot bean无法注入的问题(与文件包位置有关)
问题场景描述整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base <em>service</em>和<em>dao</em>一个module server-core 提供系统后台数据管理一个module server-platform-app 给移动端提供rest数据接口一个module server-mobile-api 其中server-platform-app 与
文章热词 颜色模型 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程
相关热词 server的安全控制模型是什么 sql ios获取idfa android title搜索 ios 动态修改约束 做区块链开发 区块链底层开发
我们是很有底线的