本人新手 请问怎么根据entity类来编写dao类 有例子最好!!!!
2个回答
展开全部
怎么可能根据entity类来编写dao层的类呢!这是一个不好的做法,换句话说,这个是很不正规。大都是玩具代码中才会出现的情况!或是培训机构出身的才习惯这么干!
首先,程序中的每个类的存在是要斟酌再斟酌。不是有多少个entity就对应几个dao层类或方法!还有dao层中的方法的参数也不一定要是对象类型,可以是多个参数。造成把参数都看作对象类型的大都是hibernate惹的祸!
就如,一个用户要登录系统,只需要用户名和密码就够了。
但是在hibernate为dao层建构的程序中,很可能就会出现这样的代码(我指的是业务逻辑层):
public boolean loginSys(User user);
初看这段代码好像挺对的,登录需要用户名和密码,user中包括这两个属性。
但是user对象中不仅仅包括这两个属性啊。可能还要用该用户的级别、性别、年龄等与登录无关的信息。那么方法loginSys就变得很难让人理解,如果方法的名称起的再晦涩一些。如:go(User user),你在看看,这个方法在做什么,谁能看明白,我想即使是你编写的这段代码,过一个月你可能都不清楚这段代码在干什么!
正确的代码应该这样写,根据业务要求定义类和方法。
public boolean loginSys(String userName,String pwd);
再看看这段代码,不用看你的实现代码就能知道你再做什么。很清晰,而且参数中去掉了那些与登录无关的user中的无用信息。这样才算是一个必要的、清晰的、有用的方法。同理:类也是如此。每个类和方法的存在都有其必然性,否则不要让他存在!!!!!
还有,在软件开发过程中的初步设计阶段的时候类才能被定义出来,之前还有:问题的定义及规划、需求分析、软件设计等阶段,这些过程都是对业务的考察和加工过程,业务决定要有什么类、类之间的联系、以及类中的方法和方法的参数等。所以,类要根据业务来定义而不是根据类来定义其他类!!!!!!
首先,程序中的每个类的存在是要斟酌再斟酌。不是有多少个entity就对应几个dao层类或方法!还有dao层中的方法的参数也不一定要是对象类型,可以是多个参数。造成把参数都看作对象类型的大都是hibernate惹的祸!
就如,一个用户要登录系统,只需要用户名和密码就够了。
但是在hibernate为dao层建构的程序中,很可能就会出现这样的代码(我指的是业务逻辑层):
public boolean loginSys(User user);
初看这段代码好像挺对的,登录需要用户名和密码,user中包括这两个属性。
但是user对象中不仅仅包括这两个属性啊。可能还要用该用户的级别、性别、年龄等与登录无关的信息。那么方法loginSys就变得很难让人理解,如果方法的名称起的再晦涩一些。如:go(User user),你在看看,这个方法在做什么,谁能看明白,我想即使是你编写的这段代码,过一个月你可能都不清楚这段代码在干什么!
正确的代码应该这样写,根据业务要求定义类和方法。
public boolean loginSys(String userName,String pwd);
再看看这段代码,不用看你的实现代码就能知道你再做什么。很清晰,而且参数中去掉了那些与登录无关的user中的无用信息。这样才算是一个必要的、清晰的、有用的方法。同理:类也是如此。每个类和方法的存在都有其必然性,否则不要让他存在!!!!!
还有,在软件开发过程中的初步设计阶段的时候类才能被定义出来,之前还有:问题的定义及规划、需求分析、软件设计等阶段,这些过程都是对业务的考察和加工过程,业务决定要有什么类、类之间的联系、以及类中的方法和方法的参数等。所以,类要根据业务来定义而不是根据类来定义其他类!!!!!!
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
namespace DAL
{
public class studentDAL
{
private studentEntities context = new studentEntities();
public studentDAL()
{
}
public studentDAL(string connectionString)
{
context = new studentEntities(connectionString);
}
public studentDAL(EntityConnection connection)
{
context = new studentEntities(connection);
}
public stu FindStuByStuID(int stuID)
{
stu student = new stu();
var results = from s in context.stu
where student.StuID == stuID
select s;
return student;
}
主要注意前面2个连接到entity框架的配置就OK了,基本后面的查询还是跟以前的dao类一样!
{
public class studentDAL
{
private studentEntities context = new studentEntities();
public studentDAL()
{
}
public studentDAL(string connectionString)
{
context = new studentEntities(connectionString);
}
public studentDAL(EntityConnection connection)
{
context = new studentEntities(connection);
}
public stu FindStuByStuID(int stuID)
{
stu student = new stu();
var results = from s in context.stu
where student.StuID == stuID
select s;
return student;
}
主要注意前面2个连接到entity框架的配置就OK了,基本后面的查询还是跟以前的dao类一样!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询