我在做insert数据的时候碰到如果有数据就Update,没数据才insert,如何写这样的sql语句?谢谢
不要告诉我先select一下判断size==0,然后insert,这是最笨的办法!
[b]问题补充:[/b]
lovewhzlq:
Hibernate我现在没在使用,以前下载的不见了。
Hibernate的SaveOrUpdate方法决定是给你插入一条数据还是更新一条数据,主要决定权在于你传入的对象是不是指定了Id。如何你指定的Id在数据库中已经存在了,则进行update操作,否则进行插入。
可以参考下hibernate这部分的源码啊
去官网下载一下研究下,
搞不好hibernate也是这么搞的呢
Hibernate的实现不能用来参考。
因为Hibernate进行save和update之前已经将数据查询出来了。所以选择save还是update只需要在内存中进行判断就行了。
如果楼主在没有[color=red]缓存[/color]支撑的情况下,
[quote]先select一下判断size==0,然后insert,这是最笨的办法![/quote]
这应该是最好的方法
[color=red]楼上正解,假如你传过来有个javabean先判断javabean里的主键参数是否为空,如果为空就insert不为空update[/color]