在JAVA连接的数据库中插入数据时如何避免重复信息~

在JAVA连接的数据库中插入数据时如何避免重复信息~,第1张

很简单,在插入数据库之前,先查询一下信息在数据库中是否存在。

如数据表(User)字段有:

id

name

age

即将插入一条信息【1,“名字”,22】

在插入数据之前,先

select

count(*)

from

User

where

id=1

and

name='名字'

and

age=22

假若查询出来不为0,那么数据就重复了。

根据这条线,很容易写出完整代码了。

防止重复提交的方法很多,例如:

1、Meta法

在你的表单页里HEAD区加入这段代码:

<META HTTP-EQUIV="pragma" CONTENT="no-cache">

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">

<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

2、令牌

生成一个令牌保存在用户session中,在form中加一个hidden域,显示该令牌的值,form提交后重新生成一个新的令牌,将用户提交的令牌和session中的令牌比较,如不同则为重复提交。

3、禁用按钮法

<input type="button" value="提交" onclick="this.disabled=truethis.form.submit()">

4、struts配置法

修改struts-config.xml文件,在action里面有一个redirect重新定向的属性,struts中默认的是false,添加这个属性,改成true,在forword中写上要跳转页面的绝对或者相对地址就行了

修改如下:

<action-mappings>

<action attribute="newsActionForm" name="newsActionForm" input="/addnews.jsp" path="/newsAction" parameter="method" scope="request" type="com.yongtree.news.action.NewsAction">

<forward name="list" path="/listnews.jsp" redirect="true"></forward>

<forward name="error" path="/addnews.jsp"></forward>

</action>

</action-mappings>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11462303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存