您的位置:首页 > 其它

酒店管理系统实现——第一天:注册登录功能的实现

2011-11-29 19:39 761 查看
这周的任务是开发酒店预定管理系统,我负责注册登录功能的实现。

如下是登录部分的源码:

public boolean loginCheck(String name, String pass) {

boolean flag = false;

DataSource ds =DBManager_c3p0.getDataSource();

QueryRunner runner = new QueryRunner(ds);

String sql = "select * from user where name=? and pass=?";

Object[] params = {name,pass};

try {

User entity=runner.query(sql,new BeanHandler<User>(User.class),params);

if(entity!=null){

flag=true;

}

} catch (SQLException e) {

e.printStackTrace();

}

return flag;

}

登录验证代码如上。

在写登录的时候有一个小插曲,

List User entity= runner.query(sql,new Beanlist<User>(User.class),params);

这里学到的是实体Bean的使用和List集合的使用。

我把第10行代码写成了如上代码,而且在测试时候,数据库中:name=中文的时候,登录失败,但如果name=English时候是没有问题的,开始以为是中文乱码问题,然后继续测试,让name=English,sex="男",结果sex属性打印出来没有乱码,然后我就不知道怎么回事了,找栋同学问了半天也不明,让别人一测试问题没有了……无语ing,人品问题。

然后就是写的注册部分代码:

public boolean insert(User entity) {

boolean flag = false;

String sql = "insert into user(id,name,pass,sex,birthdate,email,tel,idcard,roomid)values(?,?,?,?,?,?,?,?,?)";

Object[] params = {entity.getId(),entity.getName(),entity.getPass(),entity.getSex(),entity.getBirthdate(),entity.getEmail(),entity.getTel(),entity.getIdcard(),entity.getRoomid()};

try {

runner.update(sql,params);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return flag;

}

这里没有什么问题,很顺利就写出来了,要注意的是sql语句一定要测试,不然找错误时候都很麻烦的。

最后就是写测试类JUnit测试:

package cn.class3g.web.junit;

import java.util.List;

import org.junit.Test;

import cn.class3g.web.domain.User;

import cn.class3g.web.service.UserService;

import cn.class3g.web.service.UserServiceImpl;

public class UserTest {

UserService uService = new UserServiceImpl();

@Test

public void find(){

List<User> users = uService.findAll();

for (int i = 0; i < users.size(); i++) {

User entity = (User) users.get(i);

System.out.println(entity.getId()+" "+entity.getName()+" "+entity.getPass()+" "+entity.getSex()+" "+entity.getBirthdate()+" "+entity.getEmail()+" "+entity.getTel()+" "+entity.getIdcard()+" "+entity.getRoomid());

}

}

@Test

public void insert(){

uService.insert(new User(null,"王伟","123","男",null,null,null,null,4));

}

@Test

public void delete(){

uService.delete(new User(2,null,null,null,null,null,null,null,null));

}

@Test

public void update(){

uService.update(new User(3,"张三",null,null,null,null,null,null,null));

System.out.println(uService.update(new User(3,"张三",null,null,null,null,null,null,null)));

}

@Test

public void loginCheck(){

boolean flag = uService.loginCheck("张三","123");

if(flag){

System.out.println("用户登录成功");

}else{

System.out.println("用户登录失败");

}

}

}

这是测试类的所有源码,写的比较粗糙,方便以后复习了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: