Heim > Datenbank > MySQL-Tutorial > 第21天之dao模型

第21天之dao模型

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 15:56:18
Original
1032 Leute haben es durchsucht

package com.jxnu.dao;import java.io.Serializable;public interface DaoT {void add(T t);void update(T t);void delete(Serializable id);T findOne(Serializable id);} Serializable id参数使用了 多态思想 ,因为integer、String等等都实现了Serializab

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

package com.jxnu.dao;

 

import java.io.Serializable;

 

public interface Dao<T> {

     

    void add(T t);

     

    void update(T t);

     

    void delete(Serializable id);

     

    T findOne(Serializable id);

 

}

Nach dem Login kopieren

Serializable id参数使用了多态思想,因为integer、String等等都实现了Serializable接口,我们数据库存储的id类型是不定的。

1

2

3

4

5

6

7

8

9

10

package com.jxnu.dao;

 

import java.util.List;

 

import com.itheima.domain.User;

 

public interface UserDao extends Dao<User> {

 

    List<User> findAll();

}

Nach dem Login kopieren

1

2

3

4

5

6

7

8

9

package com.jxnu.dao;

 

import java.util.List;

 

import com.itheima.domain.Customer;

 

public interface CustomerDao extends Dao<Customer> {

        List<Customer> findRecords(int startIndex,int pageSize);

}

Nach dem Login kopieren

借助了hibernate中的一个jar包hibernate3.jar

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

package com.jxnu.dao.impl;

 

import java.io.Serializable;

 

import org.hibernate.Session;

 

import com.itheima.dao.Dao;

 

public class BaseDao<T> implements Dao<T> {

 

    private Session session = null;

    private Class clazz;

    public BaseDao(Class clazz)

    {

        this.clazz=clazz;

    }

    public void add(T t) {

        // TODO Auto-generated method stub

        session.save(t);

    }

 

    public void update(T t) {

        // TODO Auto-generated method stub

        session.update(t);

    }

 

    public void delete(Serializable id) {

        // TODO Auto-generated method stub

         

    }

 

    public T findOne(Serializable id) {

        // TODO Auto-generated method stub

        return (T) session.get(clazz, id);

    }

 

     

}

Nach dem Login kopieren

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

package com.jxnu.dao.impl;

 

import java.util.List;

 

import com.itheima.dao.UserDao;

import com.itheima.domain.User;

 

public class UserDaoImpl extends BaseDao<User> implements UserDao {

    public UserDaoImpl(){

        super(User.class);

    }

    @Override

    public List<User> findAll() {

        // TODO Auto-generated method stub

        return null;

    }

 

}

Nach dem Login kopieren

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

package com.jxnu.dao.impl;

 

import java.util.List;

 

import com.itheima.dao.CustomerDao;

import com.itheima.domain.Customer;

 

public class CustomerDaoImpl extends BaseDao<Customer> implements CustomerDao {

     

    public CustomerDaoImpl(){

        super(Customer.class);

    }

    public List<Customer> findRecords(int startIndex, int pageSize) {

        // TODO Auto-generated method stub

        return null;

    }

 

}

Nach dem Login kopieren
以上就是dao的模板,简化了很多代码,很精简,不是代码多就好,而是要好,要清晰。
Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage