分层学习(dao接口及实现)

1.一共涉及 用户 ,书目分类和书三张表

用户表(T_User)


2.设计对应的实体类

user实体类

package cn.mybookshop.bean;

public class User {
	private int Id;
	private String userName;
	private String passWord;
	public int getId() {
		return Id;
	}
	public void setId(int id) {
		Id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassWord() {
		return passWord;
	}
	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}

}

3.设计dao接口

package cn.mybookshop.dao;

import cn.mybookshop.bean.User;

public interface UserDao {
	public User findUserById(int id);
	public User findUserByName(String name);
}

4.dao接口的实现

package cn.mybookshop.dao.Impl;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import cn.mybookshop.bean.User;
import cn.mybookshop.dao.UserDao;
import cn.mybookshop.dao.DB.DBHelper;

public class UserDaoImpl implements UserDao{
	public static void main(String[] args) {
		User u=new User();
		u.setId(1);
		UserDaoImpl ud =new UserDaoImpl();
		User u2=ud.findUserById(1);
		System.out.println(u.getId());
	}
	@Override
	public User findUserById(int id) {
		String sql=String.format("select * from T_User where id ='%d'",id);
		System.out.println(sql);
		ResultSet rs=DBHelper.executeQuery(sql);
		User u=new User();
		try {
			System.out.println(rs.next());
		} catch (SQLException e1) {
			// TODO 自动生成的 catch 块
			e1.printStackTrace();
		}
		try {
			while(rs.next()){
				u.setId(rs.getInt("1"));
				u.setUserName(rs.getString("2"));
				u.setPassWord(rs.getString("3"));
			}
		} catch (SQLException e) {
			System.out.println("数据访问异常");
			return null;
		}
		DBHelper.close();
		return u;
	}

	@Override
	public User findUserByName(String name) {
		String sql=String.format("select * from T_User where UserName='%s'",name);
		System.out.println(sql);
		ResultSet rs=DBHelper.executeQuery(sql);
		User u=new User();
		try {
			while(rs!=null&&rs.next()){
				u.setId(rs.getInt("id"));
				u.setUserName(rs.getString("UserName"));
				u.setPassWord(rs.getString("PassWord"));
			}
		} catch (SQLException e) {
			System.out.println("数据访问异常");
			return null;
		}
		DBHelper.close();
		return u;
	}
	
}

dao主要的任务:

从下一级中得到DBHelper中得到语句执行对象。

从上一级中得到参数,形成sql语句后发送给执行对象返回结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值