写UserDao_Imp(用户类 实例)
(User类是一个JavaBean
UserDao写的是端口,UserDao_Imp写的端口实例)
两个端口 登录、插入数据到数据库
因为插入的是用户信息,所以插入端口的参数是User类,这样传入User类的内容就可以获取用户信息,因为注册的时候只能获取用户名(id),账号(随机获取的),密码(要确保用户输入的两遍密码一致),邮箱
注册时没有获取的信息:名字、地址、性别直接确定一个值
UserDao 端口
public interface UserDao {
/**
* 插入用户
*如果插入成功,返回true
*插入失败则返回false
* */
boolean insert(User user);
/**
* 用户登录
* 如果数据库里有输入的账号密码,则返回true,判断为登录成功
* 没有则返回false,判断为登录失败
* */
boolean login(String acountnum,String password);
}
User_Imp 实例
Connection conn = JDBCUtils.getConnection();
Statement statement = conn.createStatement();
ResultSet result = statement.executeQuery("select * from user");
步骤大概就是上面那个步骤
注册和插入的sql语句更换就是了,再根据需求来写
如果不知道要查询的值具体是啥(参数列表传入),可以预处理
sql = “INSERT INTO `user` VALUES(?,?,?,?,?,?,?)”;
//用?代替那个待处理的未知值
PreparedStatement preparedStatement = conn.prepareStatement(sql);
然后再传入数值,//括号第一个数字代表sql语句中的第几个“?”
preparedStatement.setString(1,user.getId());
preparedStatement.setString(2,user.getAcountnum());
preparedStatement.setString(3,user.getPassword());
preparedStatement.setString(4,user.getEmails());
preparedStatement.setString(5,user.getName());
preparedStatement.setString(6,user.getAddress());
preparedStatement.setString(7,user.getSex());
测试类
public class DaoTest {
@Test
public void text(){
UserDao userdao = new UserDao_Imp();
User user = new User();
user.setId("小小菜鸟");
user.setName("小菜鸟");
user.setAddress("中国");
user.setSex("你猜");//刚注册的初始信息
user.setAcountnum("12345");//账号
user.setPassword("122");
user.setEmails("1222");
boolean flag = userdao.insert(user);
if(flag){
System.out.println("注册成功!");
}else{
System.out.println("注册失败!");
}
}
}
可以看出 成功注册了,刷新,数据库里也有这条用户信息了