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

来源:互联网 发布:淘宝达人发布优质帖子 编辑:程序博客网 时间:2024/06/05 09:27

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());}@Overridepublic 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;}@Overridepublic 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