sevice层和dao层的简单理解
来源:互联网 发布:vm虚拟机破解版 mac 编辑:程序博客网 时间:2024/05/29 14:16
今天从自己的实际运用中谈谈对service和dao层的理解,希望各位神指点。
dao层式和service层在接口方面是一样的,两种层的理解与区别就在实现类中,1.dao层是直接与数据库联系,在实现中有具体的sql语句,执行和结果返回结果。抽象来说就是与数据库连接的逻辑层,即数据访问层。2.service层,从字面上来说是服务层,也就是业务层,业务在java开发中是很重要的,功能实现就是实现各个业务,在业务层中不需要直接连接数据库,可以直接调用其它封装的数据可连接的类,实现数据的增删改查,当然在sevice中也调用其它类,个人理解,业务层主要是调用其它方法,不需要具体实现,这也是MVC模式把一个应用分层很细的层,各司其职。sevice层是业务,当然加上事物操作就有利于实际开发了 ,我平时用的是spring的aop,下面是我的代码,帮助大家理解,也希望指点。
1.dao接口
public interface IAdminDao {
/**
* 申明方法实现类具体实现
*/
public Admin login(Admin admin);}
/**
* 申明方法实现类具体实现
*/
public Admin login(Admin admin);}
1.1.dao接口实现类
public class AdminDaoImpl implements IAdminDao {
private DBHelper db = new DBHelper();//自己写的DBHelper数据库操作的工具类
//方法具体实现,包含有sql语句,执行和结果返回
public Admin login(Admin admin) {
String sql="select * from admin where aname=? and pwd=? and status!=0";
List<Object> params=new ArrayList<Object>();
params.add(admin.getAname());
params.add(admin.getPwd());
List<Admin> login=db.find(sql, params, Admin.class);//调用工具类执行获得值
if(login!=null && login.size()>0){
return login.get(0);
}
return null;
}
private DBHelper db = new DBHelper();//自己写的DBHelper数据库操作的工具类
//方法具体实现,包含有sql语句,执行和结果返回
public Admin login(Admin admin) {
String sql="select * from admin where aname=? and pwd=? and status!=0";
List<Object> params=new ArrayList<Object>();
params.add(admin.getAname());
params.add(admin.getPwd());
List<Admin> login=db.find(sql, params, Admin.class);//调用工具类执行获得值
if(login!=null && login.size()>0){
return login.get(0);
}
return null;
}
}
2.service接口
public interface FilmService {
//申明方法实现类具体实现
//申明方法实现类具体实现
public List<Filminfo> getFilmsByFilmBean(FilmBean filmBean) ;
}2.1service接口实现
public class FilmServiceImpl implements FilmService {
@Autowired//spring_ioc的自动注解方式,此处不重要
private FilminfoMapper filminfoMapper; //运用mybatis数据库访问层的映射生成的访问数据库的类(dao层)
@Override
public List<Filminfo> getFilmsByFilmBean(FilmBean filmBean) {
List<Filminfo> ls=filminfoMapper.getFilmsByFilmBean(filmBean);//调用数据访问的类(dao层)实现具体的业务返回数据
return ls;
}
@Autowired//spring_ioc的自动注解方式,此处不重要
private FilminfoMapper filminfoMapper; //运用mybatis数据库访问层的映射生成的访问数据库的类(dao层)
@Override
public List<Filminfo> getFilmsByFilmBean(FilmBean filmBean) {
List<Filminfo> ls=filminfoMapper.getFilmsByFilmBean(filmBean);//调用数据访问的类(dao层)实现具体的业务返回数据
return ls;
}
0 0
- sevice层和dao层的简单理解
- DAO和Service层的一些理解
- J2EE中dao层和Service层的理解
- Model 层DAO的理解
- 对dao层的理解
- DAO层、model层、service层的理解
- dao层和service层的重用
- dao层和service层的区别
- Action层, Service层 和 Dao层的功能区分
- Action层, Service层 和 Dao层的功能区分
- Action层, Service层 和 Dao层的功能区分
- Action层, Service层 和 Dao层的功能区分
- Action层, Service层 和 Dao层的功能区分
- DAO层的一些个人理解
- dao层和service层
- dao层和service层
- Service层和Dao层
- SSH框架中Model层, Action层, Service层, Dao层的功能理解
- 如何降低android应用程序的耗电量
- Flask学习-设备管理系统3:从excel表导入设备信息
- okhttp
- Tomcat探秘(4):tomcat启动过程详述
- VB.net学习笔记(二十七)线程同步上
- sevice层和dao层的简单理解
- java入门、java学习、java教程:Java程序员需要注意的五大Docker误区
- SVG格式转PDF(java实现)
- Android OKHttp
- 关于c++中的const
- 最近发现一个学五十音图的公众号,给大家推荐一下
- python的GUI编程--wxpython学习(三)两个布局
- UVA1218 Perfect Service
- Swift - 使用NSUserDefaults来进行本地数据存储