• 集成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 }
  • 相关阅读:
    C++获得系统路径
    HDU
    直接插入排序
    《python基础教程(第二版)》学习笔记 函数(第6章)
    《python基础教程(第二版)》学习笔记 语句/循环/条件(第5章)
    《python基础教程(第二版)》学习笔记 字典(第4章)
    《python基础教程(第二版)》学习笔记 字符串(第3章)
    《python基础教程(第二版)》学习笔记 列表/元组(第2章)
    R语言 使用命令行参数运行R程序
    add new row to data.frame/dataframe
  • 原文地址:https://www.cnblogs.com/sharpest/p/6209583.html
Copyright © 2020-2023  润新知