zoukankan      html  css  js  c++  java
  • 集成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 }
  • 相关阅读:
    Docker容器启动时初始化Mysql数据库
    使用Buildpacks高效构建Docker镜像
    Mybatis 强大的结果集映射器resultMap
    Java 集合排序策略接口 Comparator
    Spring MVC 函数式编程进阶
    换一种方式编写 Spring MVC 接口
    【asp.net core 系列】6 实战之 一个项目的完整结构
    【asp.net core 系列】5 布局页和静态资源
    【asp.net core 系列】4. 更高更强的路由
    【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
  • 原文地址:https://www.cnblogs.com/sharpest/p/6209583.html
Copyright © 2011-2022 走看看