集成hibernateDaoSupport实现增删改查

1.

 1 package edu.jlu.fuliang.dao.impl;
 2 
 3 import java.util.List;
 4 
 5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
 6 
 7 import edu.jlu.fuliang.dao.SingerDAO;
 8 import edu.jlu.fuliang.domain.Band;
 9 import edu.jlu.fuliang.domain.CompositeSinger;
10 import edu.jlu.fuliang.domain.Singer;
11 import edu.jlu.fuliang.domain.SingleSinger;
12 
13 public class SingerDAOImpl extends HibernateDaoSupport implements SingerDAO{
14 
15     public void deleteSinger(Long id) {
16         getHibernateTemplate().delete(id);
17     }
18 
19     public List<Band> getAllBands() {
20         return getHibernateTemplate().find("from Band");
21     }
22 
23     public List<CompositeSinger> getAllCompositeSingers() {
24         return getHibernateTemplate().find("from CompositeSinger");
25     }
26 
27     public List<Singer> getAllSingers() {
28         return getHibernateTemplate().find("from Singer");
29     }
30 
31     public List<SingleSinger> getAllSingleSingers() {
32         return getHibernateTemplate().find("from SingleSinger");
33     }
34 
35     public List<Band> getBandsByName(String name) {
36         return getHibernateTemplate().find("from Band b where b.name=?", new String[]{name});
37     }
38 
39     public Singer getSingerById(Long id) {
40         return (Singer)getHibernateTemplate().get(Singer.class, id);
41     }
42 
43     public List<Singer> getSingerByRegion(String region) {
44         return getHibernateTemplate().find("from Singer s where s.region=?", new String[]{region});
45     }
46 
47     public List<Singer> getSingersByName(String name) {
48         return getHibernateTemplate().find("from Singer s where s.name=?",new String[]{name});
49     }
50 
51     public List<SingleSinger> getSingleSingersByName(String name) {
52         return getHibernateTemplate().find("from SingleSinger s where s.name=?",new String[]{name});
53     }
54 
55     public void saveSinger(Singer singer) {
56         getHibernateTemplate().save(singer);
57     }
58 
59     public void updateSinger(Singer singer) {
60         getHibernateTemplate().saveOrUpdate(singer);
61     }
62 }

2.

 1 package edu.jlu.fuliang.dao.impl;
 2 
 3 import java.sql.SQLException;
 4 import java.util.List;
 5 
 6 import org.hibernate.FetchMode;
 7 import org.hibernate.HibernateException;
 8 import org.hibernate.Query;
 9 import org.hibernate.Session;
10 import org.springframework.orm.hibernate3.HibernateCallback;
11 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
12 
13 import edu.jlu.fuliang.dao.SongDAO;
14 import edu.jlu.fuliang.domain.Song;
15 
16 public class SongDAOImpl extends HibernateDaoSupport implements SongDAO{
17 
18     public void delete(long id) {
19         Song song =(Song)getHibernateTemplate().get(Song.class,id);
20         getHibernateTemplate().delete(song);
21     }
22 
23     public List<Song> findAll() {
24         return (List<Song>)getHibernateTemplate().execute(new HibernateCallback(){
25             public Object doInHibernate(final Session session)
26                     throws HibernateException, SQLException {
27                 return session.createCriteria(Song.class).setFetchMode("", FetchMode.JOIN).list();
28             }
29         });
30     }
31 
32     public Song findById(long id) {
33         return (Song)getHibernateTemplate().get(Song.class, id);
34     }
35 
36     public List<Song> findByName(String name) {
37         return getHibernateTemplate().find("from Song s where s.name like '%" + name + "%'");
38     }
39 
40     
41     public void save(Song song) {
42         getHibernateTemplate().saveOrUpdate(song);
43     }
44 
45     
46     public void update(Song song) {
47         getHibernateTemplate().saveOrUpdate(song);
48     }
49 
50     
51     public List<Song> findBySingerRegion(final String region) {
52         return (List<Song>)getHibernateTemplate().execute(new HibernateCallback(){
53             
54             public Object doInHibernate(Session session)
55                     throws HibernateException, SQLException {
56                 Query query = session.createQuery("from Song s left join fetch s.singer where s.singer.region=?");
57                 return query.setString(0, region).list();
58             }
59         });
60     }
61 }
原文地址:https://www.cnblogs.com/sharpest/p/6209583.html