spring MVC里面service接口类的作用

来源:互联网 发布:普罗米修斯软件 编辑:程序博客网 时间:2024/06/07 16:04

现在编程是面向接口编程,举个例子,假如我的代码以前是哪mybaties写的,现在我要那hibernate写,我就只用修改service的实现类和Dao的实现类。我的Control层调用的是service的接口类,所以我就不用修改Control层的内容。修改Service实现类就是让表示层不依赖于业务层的具体实现,实现业务层与表示层的分离。修改Dao层实现类就是让业务层与以来持久层,实现业务层与持久层的分离。

hibernate与mybaties的区别就是,mybaties有一个mapper文件,Dao层只有接口类,而hibernate的Dao层即有接口类又有实现类,实现类里面如下所示

package com.jointem.study.dao.impl;import com.jointem.study.dao.UserDao;import com.jointem.study.entity.Student;import org.hibernate.Query;import org.hibernate.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;import java.util.List;/** * @Title: UserDaoImpl * @Description: * @Author: lcb * @Date: 2017年07月19日 * @Version: v1.0.0 * @Copyright: 2017 www.jointem.com Inc. All rights reserved. * @Update: 1. Create File */@Repository("userDao")public class UserDaoImpl implements UserDao{    @Autowired    SessionFactory sessionFactory;    public List<Student> getList() {        String hql = "from Student";         Query query=sessionFactory.getCurrentSession().createQuery(hql);        return query.list();    }    public void addStudent(Student student) {        sessionFactory.getCurrentSession().save(student);    }    //删除用户    public void delStudent(Integer id) {        Student student =(Student)sessionFactory.getCurrentSession().get(Student.class,1);       sessionFactory.getCurrentSession().delete(student);    }    public Student setList1(String name) {        String sql = "select * from Student where name=:name";        Query query=sessionFactory.getCurrentSession().createSQLQuery(sql).setParameter("name",name);        List<Student> students=query.list();        if(students.size()>0 ){            return  students.get(0);        }        return null;    }//    //修改用户//    public void updateUser(Student student) {//         Session session = sessionFactory.getCurrentSession();//        session.beginTransaction();//        String hql = ("update Student u set u.name = ?,u.password = ?,u.loginDate = ? where u.id = ?");//        Query query = session.createQuery(hql);//        query.setParameter(0, student.getName());//        query.setParameter(1, student.getPassword());//        query.setParameter(2, student.getLoginDate());//        query.setParameter(3, student.getId());//        query.executeUpdate();//        session.getTransaction().commit();//    }}


原创粉丝点击