2 molixiangshi molixiangshi 于 2017.01.06 08:41 提问

在servlet写sql语句好还是在Dao层的实现类写sql语句好

在servlet写sql语句好还是在Dao层的实现类写sql语句好?我同学说在servlet写sql语句比较灵活,比较好,各位大神怎么看?

7个回答

qq_36074751
qq_36074751   2017.01.06 18:52
已采纳

个人觉得写在那一层看项目的情况,写在dao层是大家公用的规范,大家都遵循这个规范,方便别人能够读懂的代码,以前见过的代码有把sql写在jsp中的,现在的项目基本都是分为controller,service,dao层,这个也方便事务管理。

Zhanjr
Zhanjr   2017.01.06 08:41

DAO层
DAO(Data Access Object)是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

abcdit
abcdit   2017.01.06 09:16

可以根据你的项目大小,以及日后扩展性考虑,如果仅仅是一个小程序,完成后,后期需要增加的功能很少,个人感觉怎么写都好。如果想易于维护和扩展,建议分开。

sinat_34047321
sinat_34047321   2017.01.06 10:18

当然是在dao层,它负责和数据库打交道

xionglangs
xionglangs   Rxr 2017.01.06 10:42

M:(Model) 模型 : 应用程序的核心功能,管理这个模块中用的数据和值;V(View )视图: 视图提供模型的展示,管理模型如何显示给用户,它是应用程序的外观;C(Controller)控制器: 对用户的输入做出反应,管理用户和视图的交互,是连接模型和视图的枢纽。所以你应该在M层写,并且应该写个泛型的basedao,这样所有的新的dao只要实现和继承basedao就可以了,完全不用再去写什么dao层。

Shining_huifeidezhu
Shining_huifeidezhu   2017.01.06 14:39

个人感觉,在dao层写sql语句较好,毕竟dao层是和数据库打交道的一层;当然也要考虑项目的需求和大小了;

单从功能实现上来说, sql 写在哪 并不一定,但是如果考虑到后期的运维,分层啊。建议还是放在dao层;

zjn640322
zjn640322   2017.01.07 09:13

DAO层,servlet处理上层逻辑,DAO处理具体行为

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
dao类没有实现类,是怎样找到对应的sql 语句的
项目中遇到了dao类,本来是没有问题的,可是看代码时发现没有它的实现类,这个地方就郁闷了?那他又是怎样找到他的对应的sql语句呢? 项目使用的是springmvc+mybatis,在mybatis 的配置文件  mapper.xml 中的id名要和dao接口中的方法名称要一样,这样就回自动映射到对应的方法名称,找到要执行的sql语句了。
Dao层定义执行SQL语句的方法
@Repository public class QsPatientCodeDaoImpl extends HibernateBaseImpl implements QsPatientCodeDao { @Resource(name = "sessionFactory") private SessionFactory sessionFactory; public Lis
JDBC DAO层SQL语句操作
JDBC DAO层SQL语句操作一.PrepareStatment(pstmt) pstmt的预编译模式可以在多次sql需要多次执行相同操作但是参数产生变化的时候,只需要在第一次把SQL语句写好, 并且通过pstmt.addBatch();来进行区分. 例如://想多次对stu表的不同姓名的人的年龄进行修改 PrepareStatment pstmt = conn.prepareStatmen
JavaWeb dao层条件查询(模糊查询)的sql语句
目的:通过一条查询语句能够实现用户所有的条件进行查询
SQL是写在程序里还是存储过程中好?
SQL是写在程序里还是存储过程中好? 1,方便性     如果SQL更改返回的字段不改变时,程序可以不用改,但是这个谁说的定返回的东西不变,所以就后续维护,把SQL写在程序中对于维护是更方便些的。 2,运行速度    把SQL写在程序中,就得编译之后才能正在数据库中执行SQL,如果运用了ORM,如Java中使用Hibernate的HQL时得根据对象-关系映射文件中的映射信息,    把H
Mybatis - Mybatis 增删改查之dao层实现
1.背景    在上篇中我们使用了MyBatis实现简单的增删改查,并没有进行dao层的封装,所以在这里我们进行dao层开发:    (1)传统的jdbc dao层开发(写dao接口,实现dao接口类)    (2)mapper代理方法 (只需要写mapper接口类,相当于dao接口类)      在Mybatis操作的时候,我们使用的是SqlSession 来进行数据库操作,其中SqlS
mybatis关于SQL语句注解与XML两种方式
细节记录(此处未集成spring):1.SQL使用注解时,需手动添加Mapper:即sqlSessionFactory.getConfiguration().addMapper(XXXMapper.class);2.XML方式时,注意xml中的namespace的值为Mapper全路径名称。...
数据库表Dao层SQL语句拼接生成工具
最近在用数据库管理三层写一个项目,没有用框架,在建dao层的时候遇到了一个令人十分dan疼的事情,那就是像写插入和更新这种函数的时候SQL语句的拼接简直是要了老命呀,急着赶进度,谁有耐心去写那玩意!就是这: 于是就想要不要写一个小工具选了表就能自动生成这么一块,一拷贝一粘贴多方便,所以这么个小东西就诞生了,随便连个数据库选个表感受一下 把源码放在底下,想用的朋友可拿去玩玩~
关于DAO 模糊查询的小记
本来是很简单的功能啦。有段时间没有接触了,现在重新丢出来,哪怕很简单,以后有时间看到自己的成长历程也是一种幸事,更能珍惜成长的过程和感悟吧!人生一世,总得给自己一个过得去的交代不是! 废话不多说,上代码喽,就直接上DAO层的代码了,实体类就是属性封装,接口,实现层都不用多说,,,/* * 条件查询 */ public List
sql是不是可以写在service层?虽然service是业务层
我记得我曾经学javaweb的时候,也是被这个问题困惑过大半年,service层到底要不要出现sql或者Hibernate的hql语句? 我曾经有和你一样的困惑,比如有一个UserDao的接口,假如我想查询User,根据Id查询可能UserDao就需要设置一个findUserById(Integer id)这样的方法,根据用户名查询就是findUserByName(String name),根据