码迷,mamicode.com
首页 > 数据库 > 详细

Java——JDBC小结终结

时间:2016-05-14 21:27:52      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

在JDBC的最后一个内容中,我将叙述的是最后一个概念DAO

1.DAO

DAO(Data Access Object)数据访问对象,他是建立在业务层与数据库之间,目的就是为了分开数据访问逻辑和业务逻辑

接下来我直接说明关于DAO的建立,首先要先创建一个实体类,并对其进行序列化,实体类里面包含的是数据表的各个字段,同时要包含他们各自的get,set方法,示例代码如下:

 1 package entity;
 2 
 3 import java.io.Serializable;
 4 import java.util.Date;
 5 
 6 /**
 7  * 1.通常实体类名和表名一致
 8  * 2.通常该类中的属性名和字段名一致
 9  * 3.通常该类中的属性都使用封装类型
10  * @author jiawenzhe
11  *
12  */
13 public class emp implements Serializable {
14     private Integer empno;
15     private String ename;
16     private String jod;
17     private Integer mgr;
18     private Date hiredate;
19     private Double sal;
20     private Double comm;
21     private Integer deptno;
22     public Integer getEmpno() {
23         return empno;
24     }
25     public void setEmpno(Integer empno) {
26         this.empno = empno;
27     }
28     public String getEname() {
29         return ename;
30     }
31     public void setEname(String ename) {
32         this.ename = ename;
33     }
34     public String getJod() {
35         return jod;
36     }
37     public void setJod(String jod) {
38         this.jod = jod;
39     }
40     public Integer getMgr() {
41         return mgr;
42     }
43     public void setMgr(Integer mgr) {
44         this.mgr = mgr;
45     }
46     public Date getHiredate() {
47         return hiredate;
48     }
49     public void setHiredate(Date hiredate) {
50         this.hiredate = hiredate;
51     }
52     public Double getSal() {
53         return sal;
54     }
55     public void setSal(Double sal) {
56         this.sal = sal;
57     }
58     public Double getComm() {
59         return comm;
60     }
61     public void setComm(Double comm) {
62         this.comm = comm;
63     }
64     public Integer getDeptno() {
65         return deptno;
66     }
67     public void setDeptno(Integer deptno) {
68         this.deptno = deptno;
69     }
70     
71  }

接下来再创建一个包用来存放DAO这个类,DAO中我们要建立一个方法,该方法的作用通过给定的字段返回我们要查找的字段,所以这个方法的返回值是一个泛型集合,且里面存放的类型是刚才我们创建的实体类类型。

 1 package dao;
 2 
 3 import java.net.ConnectException;
 4 import java.sql.Connection;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8 import java.util.List;
 9 
10 import util.DBUtil;
11 import entity.emp;
12 
13 public class EmpDao {
14     public List<emp> findAll(){
15         return null;
16     }
17     public emp findById(int id){
18         Connection conn=null;
19         try {
20             conn=DBUtil.getConnection();
21             String sql ="select *from emp_jiawenzhe where empno=?";
22             PreparedStatement ps=conn.prepareStatement(sql);
23             ps.setInt(1, id);
24             ResultSet rs=ps.executeQuery();
25             if(rs.next()){
26                 emp e=new emp();
27                 e.setEmpno(rs.getInt("empno"));
28                 e.setEname(rs.getString("ename"));
29                 e.setJod(rs.getString("job"));
30                 e.setMgr(rs.getInt("mgr"));
31                 e.setHiredate(rs.getDate("hiredate"));
32                 e.setSal(rs.getDouble("sal"));
33                 e.setComm(rs.getDouble("comm"));
34                 e.setDeptno(rs.getInt("deptno"));
35                 return e;
36             }
37             
38         } catch (SQLException e) {
39             // TODO Auto-generated catch block
40             e.printStackTrace();
41             throw new RuntimeException("wrong",e);
42         }finally{
43             DBUtil.close(conn);
44         }
45         return null;
46     }
47     
48 }

我这里面的返回值是一个emp的实体类,因为是要根据指定的id找到那个对应的人,具体的返回值情况都是根据实际情况确定,这里面我们再次调用了最开始的工具类

最后给出测试代码

    @Test
    public void test6(){
        EmpDao dao=new EmpDao();
        emp e= dao.findById(7369);
        if(e!=null){
            System.out.println(e.getEname()+","+e.getJod());
        }
    }

 

Java——JDBC小结终结

标签:

原文地址:http://www.cnblogs.com/jwz-bk/p/5493211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!