商苑面馆:Java命令行版之 Dao层
来自CloudWiki
Cloud17(讨论 | 贡献)2019年4月30日 (二) 09:11的版本 (创建页面,内容为“==Dao层== 文件:Java8-1.png ==前期准备== 在entity包下建立User类: <nowiki>package entity; public class User { //成员变量 public String na…”)
Dao层
前期准备
在entity包下建立User类:
package entity; public class User { //成员变量 public String name; public String password; //构造方法 public User(){ } public User(String name,String password ){ this.name=name; this.password=password; } //读方法 public String getname(){ return this.name; } //写方法 public boolean setName(String s){ this.name = s; return true; } //获取用户密码 public String getPwd(){ return this.password; } //写方法 public boolean setPwd(String p){ this.password = p; return true; } }
实现步骤
建立接口UserDao
在包dao下建立抽象接口UserDao
package dao; import entity.User; public interface UserDao { public boolean addUser(User u);//抽象方法1:增加用户,接口的实现类必须实现这个方法 public boolean verify(String name, String pwd);//验证用户名和密码是否一致 public User search(String s);//抽象方法2:搜索商品,接口的实现类必须实现这个方法 public String toString(); //抽象方法3:展示所有商品,接口的实现类必须实现这个方法 }
建立接口的实现类
接口实现类可以用多种方式实现,ArrayList,LinkedList, MySQL等
这里我们用ArrayList实现
接口实现类UserDaoArray
package dao; import java.util.*; import entity.*; public class UserDaoArray implements UserDao{ //private Food[] n;//食物数组 private ArrayList<User> n;//食物数组 public UserDaoArray( ){ this.n = new ArrayList<>(); } public UserDaoArray(ArrayList<User> n ){ this.n = n; } public boolean addUser(User f){//实现了接口的add方法 this.n.add(f); return true; } //按名称搜 public User search(String s){//实现了接口的搜索方法 for(int i=0;i<this.n.size();i++){ if(n.get(i).getname().equals(s)){ return n.get(i); } } return null; //return new Noodle(); } public boolean verify(String name, String pwd){ //在数据仓库中搜,有没有这个用户、用户名和密码是否对应 for(int i=0;i<this.n.size();i++){ if(n.get(i).getname().equals(name) && n.get(i).getPwd().equals(pwd)){ return true; } } return false; } public String toString(){//实现了接口的toString方法 String s=""; for(int i=0;i<n.size();i++){ s += n.get(i).toString()+"\r\n"; } return s; } public static void main(String[] args) { } }
编写测试代码
在UserDaoArray类的main方法中编写测试代码:
public static void main(String[] args) { //本类的测试代码 // TODO Auto-generated method stub UserDao userSet= new UserDaoArray(); User u1 = new User("王建","000000"); userSet.addUser(u1); if(userSet.verify("王建", "000000")){ System.out.println("用户王建的密码为000000"); }else{ System.out.println("用户王建的密码不是000000"); } }