java中增删改查什么时候有返回值、什么时候没有呢。有什么区别、是固定的吗?
增删改返回结果大于0说明增删改成功,代表的是增删改的影响的条数,查的话无返回值,直接看查出来的数据就行,望采纳
一般情况下都需要返回值,增删改返回的是执行是否成功的状态值,查返回的是查找的对象
闻分而动。
先说说查吧,既然是查,就是得看到数据对吧,数据从哪儿来呢,答案显而易见对吧。
增删改呢,好像没查对返回值的需求大?
然而,比如你在一个网站注册,就是网数据库某表加一条数据对吧,也就是增,那么你注册完成之后跳转页面是怎么知道你注册完成的呢?
改和查亦然,就你平常操作而言,数据操作成功之后不说提示也会刷新对吧,那前台是怎么知道你操作成功与否的呢?
这是个设计问题,无论使用IBATIS,还是HIBERNATE,都需要对数据库操作后有结果,展示给前端。所以,在设计时候,增删改都需要有返回值。
增删改,返回值是你受影响行数,查是你查找的内容,理论上所有的操作都有返回值,如果没有你就得看一下是否有中间层给你吧数据屏蔽了,
这个问题稍微复杂点就是 你要问出个角度来:比如你问 查的时候什么时候要对象 ,什么时候要集合, 增删改无非返回值就是受影响的行数而已,如果你后台程序不要返回行数,你可以用bool啊 ,是否为真,这个问题何必深究?
一般来说,增、删、改一般无需返回值;查的话需要将查询结果返回。
增删改是不需要返回值的,查询返回的一般是一个集合
增删改可以返回一个标志,可以作为数据操作是否成功,查询,不用说返回集合若果条件够精确也可以返回一条数据即一个对象
增删改返回的是受影响的行数,查询可以返回一条记录即一个对象,也可以返回一个集合。
说到底,这是设计的问题,怎么设计,取决于业务。
要看你要不要对计算结果进行使用,如果只是过程,就不用
理论上是都会有返回值
以作为数据操作是否成功,查询。增删改返回的是受影响的行数。
分2类型来说:
1.查询, 返回的一组记录(可以理解为集合, 实际是一个数据库游标)。
2.增删改, 返回是受影响的行数, 比如你删除了5行记录,就返回5.
推荐阅读:
1.JDBC API ,这个描述的比较清楚 。
2.jooq, 对JDBC API 进行了包装。
增删改查是否有返回值,并不是死规定,它是根据程序员的需求而改变,可以返回多种类型的数据,当登陆的时候,需要异步验证,将结果返回给
前台做相应的动作.
这玩意看需要,看你是要bool的返回值,还是影响几条数据的int值
一般增的时候返回主键就好了
增删改默认返回值为整型,大于0即语句执行成功,
查一般返回一个集合。
当然如果是自定义返回值的话就另说了。
返回值呢添加删除修改一般都是返回的是受影响的行数
而查询呢看的是你返回的实体信息
在进行增删改操作的时候,无论操作是否会影响的数据条数,都会有返回值,若返回结果大于0,说明操作成功,返回的值是>0且不固定的;若返回值为0,说明操作没有生效
一般都有返回值,查的话,一般是一个集合类或实体类,或者带计算的具体数值,如count计算等,增删更新返回值一般是1,-1等,是为了看操作是否成功。
增和改 最基本的返回一个boolean,标记一下是否成功,一般的做法是 返回增加或修改后的最新的对象。
删除 返回boolean, 证明删除成功了就可以了,不过很多情况下,删除操作是 修改数据的一列,标记为0,不可用,假删除
查询 所属情况下是 返回一个List集合了
查询必须有返回值的,不然查询就没有意义了,增删改视需求而定,可以没有返回值,也可以返回增删改的行数,也可以返回boolean表示操作是否成功。
insert、delete、update的返回值是int ,select就看具体情况了
可能有的人认为只有查返回数据(查询到的数据),增删改没有,实际情况增删改查都需要返回数据,增删改返回数据的唯一标识,一种是在进行增删改查时,上下可能还进行其他操作,通过唯一标识对记录进行其他操作;另一种是进行日志的打印,如果批量操作时出错,可以定位到具体是哪条记录操作失败
看你逻辑了,一般查询时需要返回值,因为你要查询结果,增删改的返回值指操作是否成功,这个你随意,可要也可不要!
service里面public void就是有问题的,把所有的状态都吃了:是否执行成功?成功了影响几条?一般说来,save应该返回id;update,delete 返回影响数量;find 返回查找结果,没有的话直接抛异常也可以
增删改的返回值是int类型的数字,表示的 “改变的表中数据的条数”。查询的返回值是 “你想获取的内容”。增删改的返回值用来确定“在数据库表中是否执行sql语句成功”。
查询有可能返回多行结果集
修改,删除,增加都返回一个结果
jdbc的话
查询会返回结果集,使用while循环遍历
增加,删除,修改使用executeUpdate的时候会有一个int的返回值,表示影响几行
使用execute的时候会是Boolean的返回值,false表示成功,没有错误,true表示失败,有错