商苑面馆:Java命令行版之 Dao层(MySQL实现)

来自CloudWiki
Cloud17讨论 | 贡献2019年5月8日 (三) 06:57的版本 (创建页面,内容为“==Dao层== 文件:Java8-1.png ==前期准备== 在entity包下建立User类: <nowiki>package entity; public class User { //成员变量 public String na…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Dao层

Java8-1.png

前期准备

在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");
    	}
    }

Java7-35.png