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语句后发送给执行对象返回结果。