加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java新手 – 什么是JPA和DAO?

发布时间:2020-12-14 23:56:50 所属栏目:Java 来源:网络整理
导读:我是 Java的新手,我正在尝试使用servlet创建一个Web项目. 我想查询我的数据库,但我想我不了解JPA和DAO的一切. 我被教导过这样做: 创建类com.package.entity.User(从我的数据库生成) 创建接口com.package.dao.UserDao 创建实现UserDao的类com.package.dao.jp
我是 Java的新手,我正在尝试使用servlet创建一个Web项目.
我想查询我的数据库,但我想我不了解JPA和DAO的一切.

我被教导过这样做:

>创建类com.package.entity.User(从我的数据库生成)
>创建接口com.package.dao.UserDao
>创建实现UserDao的类com.package.dao.jpa.JpaUserDao
>使用public List< User>等方法创建EJB com.package.service.UserService.找到所有()

我听说没有必要用JPA创建一个DAO接口,但我完全迷失了,我根本不了解我应该做什么或者EJB是什么.我只是想找到我的数据库中的所有用户,并按照Java的良好实践显示他们的名字.

对于我的servlet和JSP来说已经足够了.

你会推荐什么 ?

解决方法

DAO代表“数据访问对象”.它抽象了“从数据存储中获取内容”的概念.您可以使用JDBC调用,JPA调用或其他任何方式实现DAO对象.也许它会调用一些远程Web服务.在JPA上使用DAO似乎是多余的,它确实添加了一个层,但我认为这是值得的.

例如,您可能有一个“显示绿眼睛用户”的用例.

直接JPA:

List<User> users = entityManager.createQuery("select u  from User u where u.EyeColor = 'green'"");

有DAO你有:

List<User> users = dao.UsersWithEyeColor("green");

DAO在这里有几个优点:

>它更容易阅读.
>它不会将您的数据库结构暴露给应用程序的其余部分
>单元测试会更容易.获得绿眼睛用户的课程只需要创建一个“Mock”dao.这比嘲笑JPA更容易.

这些只是使用DAO的一些参数.对于一个非常简单的小应用程序,它可能是太多的开销.但对于任何会变得更大并且需要维持多年的东西,我认为这是值得的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读