在做“新增用户”时要判断新增的“用户名”在数据库中是否已经存在,我现在碰到的情况如下:
当输入用户名为“1”时,失去焦点时进行判断,判断结果正确,下面问题来了:
上图中的两条记录是我新增的,当我再次输入用户名为“eason”进行新增时得到的判断结果让人奔溃,请问各位大侠这是咋回事,怎么破?
关于判断用户名是否已存在的主要程序如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
boolean isExistFlag=false;
String userName=request.getParameter("username");
String userId=request.getParameter("id");
if(userId==null||userId.trim().equals("")){
isExistFlag=dao.isExistUsername(userName,"0");
}else{
isExistFlag=dao.isExistUsername(userName,userId);
}
PrintWriter out=response.getWriter();
if(isExistFlag)
out.write("exist");
}else{
out.write("not");
}
out.close();
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public boolean isExistUsername(String userName,String userId)
{
Session session = sessionFactory.openSession();
try
{
Transaction tx = session.beginTransaction();
String hql ="";
List<HtUser> users=null;
if(userId!=null&&userId.trim().equals("0")){
hql = new StringBuffer()
.append(" from HtUser u ")
.append(" where u.username=? ")
.append(" and u.isuse='1' ")
.toString();
users= session.createQuery(hql)
.setString(0, userName)
.list();
if(users!=null&&users.size()>0){
return true;
}
}
if(userId!=null&&!userId.trim().equals("0")){
hql = new StringBuffer()
.append(" from HtUser u ")
.append(" where u.username=? ")
.append(" and u.id!=? ")
.append(" and u.isuse='1' ")
.toString();
users= session.createQuery(hql)
.setString(0, userName)
.setString(1, userId)
.list();
if(users!=null&&users.size()>0){
return true;
}
}
tx.commit();
session.close();
}
catch (HibernateException e)
{
session.getTransaction().rollback();
}
finally
{
if (session.isOpen())
{
session.close();
}
}
return false;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。