chenjinlong

#

5月6日收获(DAO程序设计)

                                                                                                DAO程序设计
       DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。DAO可以说是一种设计模式,它属于J2EE设计模式。
          开发人员用(DAO)这种模式将底层数据访问操作与高层业务逻辑分离开,一个典型的 DAO 实现有以下组件:

  • 一个 DAO 工厂类
  • 一个 DAO 接口
  • 一个实现了 DAO 接口的具体类
  • 数据传输对象(有时称为值对象)

      POJO与PO的区别:
      POJO:Plain Ordinary Java Objects
      简单的Java对象(Plain Ordinary Java Objects)(Plain Old Java Object)实际就是普通JavaBeans
  POJO是Plain Ordinary Java Objects的缩写不错,但是它通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类。

  POJO有一些private的参数作为对象的属性。然后针对每个参数定义了get和set方法作为访问的接口。例如:

  public class User {

  private long id;
  private String name;

  public void setId(long id) {

  this.id = id;

  }

  public void setName(String name) {

  this.name=name;

  }

  public long getId() {

  return id;

  }

  public String getName() {

  return name;

  }

  }

  POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。

      PO=persisent object 持久对象;
       J2EE组件层次:我们都应该遵循
        客户端—>表示层—>业务层—>数据层—>数据库

public interface DAO{
   public void insert(Person person);
}
public class Person{
   private int id;
   priavte String name;
   priavte String password;
   //英文版编程器如下
   //点右键  选source选Generate Constructor using Fields构造方法
   public Person(){
super();
}
//点右键  选source选Generate using Fields构造一个带参方法
 public person(Integer id,String name,String password){
 super()
 this.id=id;
 this.name=name;
 this.password=password;
}
//点右键 选source选Generate Getters and Setters创建javabean
public int getId() {
  return id;
 }


 public void setId(int id) {
  this.id = id;
 }


 public String getName() {
  return name;
 }


 public void setName(String name) {
  this.name = name;
 }


 public String getPassword() {
  return password;
 }


 public void setPassword(String password) {
  this.password = password;
 }


}
public class DataBaseConnection {
 private final String DB="com.microsoft.jdbc.sqlserver.SQLServerDriver";
 private final String URL="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
 private final String SA="sa";
 private final String PASSWORD="";
 public void DataBaseConnection(){
  try {
   Class.forName(DB);
   Connection conn= DriverManager.getConnection(URL,SA,PASSWORD);
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 public Connertion getConnection(){
  return this.conn;
  public viod close(){
   if(conn!=null){
    this.conn.close();
   }
  }
  
 }
}
public class DAOImp implements DAO{
 public void inster(Person person){
  String sql="inster into person(id,name,password) values(?,?,?)";
  PreparedStatement pstmt=null;
  DataBaseConnection dbc=null;
  try{
   dbc=new DataBaseconnection();
   pstmt=dbc.getConnection().preparedStatement(sql);
   pstmt.setString(1, person.getId());
   pstmt.setString(2,person.getName());
   pstmt.setString(3, person.getPassword());
   pstmt.executeUpdate();
   
  }catch(Exception e){
   throw new Exception("操作出现异常");
   
  }
 }

}

 


 

     

posted @ 2010-05-06 19:25 chenjinlong 阅读(156) | 评论 (0)编辑 收藏

仅列出标题
共2页: 上一页 1 2 

My Links

Blog Stats

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜