×

executeupdate exe date

executeupdate和execute的区别?getHibernateTemplate().update(obj) hibernate更新问题---

admin admin 发表于2022-06-07 22:32:35 浏览101 评论0

抢沙发发表评论

executeupdate和execute的区别


主要区别:execute:执行给定的 SQL 语句,该语句可能返回多个结果。executeUpdate:执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)

一、方法executeUpdate:

1、用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零。 -date

2、使用executeUpdate方法是因为在 createTableCoffees 中的 SQL 语句是 DDL (数据定义语言)语句。创建表,改变表,删除表都是 DDL 语句的例子,要用 executeUpdate 方法来执行。你也可以从它的名字里看出,方法 executeUpdate 也被用于执行更新表 SQL 语句。-exe

二、方法execute: 

1、用于执行返回多个结果集、多个更新计数或二者组合的语句。因为多数程序员不会需要该高级功能 。

2、execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。当执行某个已存储过程 或动态执行未知 SQL 字符串(即应用程序程序员在编译时未知)时,有可能出现多个结果的情况,尽管这种情况很少见。-date

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。


getHibernateTemplate().update(obj) hibernate更新问题---


问题一,错误原因就是,你的Person对象不是持久化对象,不能直接update。
解决方法,先用hql查询得到Person对象,这个对象就是持久化对象,
例如你使用find方法,getHibernateTemplate().find(“from Person where userName=’yang’ “)
用户名肯定不重复,这样就查询出唯一的Person,然后你再从返回的List中遍历得到唯一的Person,因为List里面只有一个元素。

然后你再使用 p.setStauts(“0“)这个方法更改冻结状态,最后update就行了。
用get方法也可以得到唯一的Person,我不知道你的主键是不是用户名,所以用了find。

问题二 ,如果你的用户名是主键或不重复,那么用hql语句,即为:
update Person set stauts=‘0’ where userName=‘yang’
注意,字段大小写敏感,自己根据本人编写的字段大小写为准
但是很麻烦,因为hibernatetemplate没有直接方法,只能用session了,
Transaction trans=session.beginTransaction();
hql = “update Person set stauts=‘0’ where userName=‘yang’ “;
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
int flag = session.createQuery(hql).executeUpdate();
trans.commit();
session.close();// 这个语句我只是表示要关闭session,至于什么try catch,自己写就行了,
//不建议你使用这个方法修改,因为很麻烦,且容易出错。
这个脱离了spring的事务控制,当然要自己开关session,不如用我说的第一个方法简单。

问题三,find方法当然不能更新,这个方法是查询方法,不能作为更新方法使用。
-exe

php中用date()函数怎么显示中国目前的时间


php中用data()函数显示中国目前时间:用到的工具:notepad++,php运行环境,代码如下:

1.

《? 
date_default_timezone_set(’PRC’); 
echo date(’Y-m-d H:i:s’); 
?》

说明:代码第一句设置了时区为中国,第二行代码输出当前时间。

输出效果图如下: