DAO开发步骤例子:
1)创建域对象
创建个web工程,建一个包,名为com.hygj.zhengbo.domain,包下建一个Users类
代码如下:
public class Users {
private String userName = "";
private String passWord = "";
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Users(String userName, String passWord) {
super();
this.userName = userName;
this.passWord = passWord;
}
public Users() {
super();
}
}
2)创建DAO接口(封装一个对对象操作的所有动作)
建一个包,名为com.hygj.zhengbo.dao,包下建一个类,名为UsersDAO
代码如下:
public interface UsersDAO {
public boolean addUsers(Users parUser);
public Users findByUserName(String parUserName);
public boolean delUsers(Users parUser);
public ArrayList<Users> findByAll();
}
3)创建DAO接口的实现
建一个包,名为com.hygj.zhengbo.dao.imp,包下建一个类,名为UsersDaoImp
***注意***AO接口的实现类必须是一个单态类,即构造方法私有化并提供静态的访问方法
代码如下:
public class UsersDAOImp implements UsersDAO{
private UsersDAOImp(){
}
public static UsersDAOImp getInstance(){
return new UsersDAOImp();
}
public boolean addUsers(Users parUser) {
try{
//数据库操作代码
}catch(Exception e){
System.out.println(e.getMessage());
}
return false;
}
public boolean delUsers(Users parUser) {
// TODO Auto-generated method stub
return false;
}
public ArrayList<Users> findByAll() {
// TODO Auto-generated method stub
return null;
}
public Users findByUserName(String parUserName) {
// TODO Auto-generated method stub
/**
* 数据库操作代码
*/
return null;
}
}
4)创建工厂类(对工厂模式的实现)
建一个包,名为com.hygj.zhengbo.factory,包下建一个类,名为DAOFactory
代码如下:
public class DAOFactory {
public static UsersDAO getUsersDAO(){
return UsersDAOImp.getInstance();
}
}
5)封装服务层
建一个包,名为com.hygj.zhengbo.service,包下建一个类,名为UsersService
代码如下:
public class UsersService {
public Users checkLogin(String parUserName,String parPassWord){
UsersDAO myUsersDAO = DAOFactory.getUsersDAO();
Users myUser = myUsersDAO.findByUserName(parUserName);
if(myUser.getPassWord().equals(parPassWord)){
return myUser;
}else{
Users myNewUser = new Users(parUserName,parPassWord);
if(myUsersDAO.addUsers(myNewUser)){
return myNewUser;
}else{
return null;
}
}
}
}
1)创建域对象
创建个web工程,建一个包,名为com.hygj.zhengbo.domain,包下建一个Users类
代码如下:
public class Users {
private String userName = "";
private String passWord = "";
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Users(String userName, String passWord) {
super();
this.userName = userName;
this.passWord = passWord;
}
public Users() {
super();
}
}
2)创建DAO接口(封装一个对对象操作的所有动作)
建一个包,名为com.hygj.zhengbo.dao,包下建一个类,名为UsersDAO
代码如下:
public interface UsersDAO {
public boolean addUsers(Users parUser);
public Users findByUserName(String parUserName);
public boolean delUsers(Users parUser);
public ArrayList<Users> findByAll();
}
3)创建DAO接口的实现
建一个包,名为com.hygj.zhengbo.dao.imp,包下建一个类,名为UsersDaoImp
***注意***AO接口的实现类必须是一个单态类,即构造方法私有化并提供静态的访问方法
代码如下:
public class UsersDAOImp implements UsersDAO{
private UsersDAOImp(){
}
public static UsersDAOImp getInstance(){
return new UsersDAOImp();
}
public boolean addUsers(Users parUser) {
try{
//数据库操作代码
}catch(Exception e){
System.out.println(e.getMessage());
}
return false;
}
public boolean delUsers(Users parUser) {
// TODO Auto-generated method stub
return false;
}
public ArrayList<Users> findByAll() {
// TODO Auto-generated method stub
return null;
}
public Users findByUserName(String parUserName) {
// TODO Auto-generated method stub
/**
* 数据库操作代码
*/
return null;
}
}
4)创建工厂类(对工厂模式的实现)
建一个包,名为com.hygj.zhengbo.factory,包下建一个类,名为DAOFactory
代码如下:
public class DAOFactory {
public static UsersDAO getUsersDAO(){
return UsersDAOImp.getInstance();
}
}
5)封装服务层
建一个包,名为com.hygj.zhengbo.service,包下建一个类,名为UsersService
代码如下:
public class UsersService {
public Users checkLogin(String parUserName,String parPassWord){
UsersDAO myUsersDAO = DAOFactory.getUsersDAO();
Users myUser = myUsersDAO.findByUserName(parUserName);
if(myUser.getPassWord().equals(parPassWord)){
return myUser;
}else{
Users myNewUser = new Users(parUserName,parPassWord);
if(myUsersDAO.addUsers(myNewUser)){
return myNewUser;
}else{
return null;
}
}
}
}