繁体   English   中英

无法使用JPA连接到mysql db(java持久性)

[英]Unable to connect to mysql db with JPA (java persistance)

我对Java相当陌生-尽管来自PHP + JS。 我的目标是使用Java Servlet制作CRUD(+ MVC)。

我正在使用Java EE 7 根据我的一些在这里与我的模式这个那个 (都具有相同的最终文件)。

因此,我正在实现MVC,但似乎无法使我的代码正常工作。 JPA似乎是主要问题; 我无法从数据库中获取任何信息。

这是存储库 (真正的小项目-7〜8个类)。 型号 ;

我有设置controllers.Test (URL:/ test)来测试是否可以通过JPA与数据库实际通信。 但是,当我转到/ test( controllers.Test )时,将引发异常。 controllers.NewsEdit (url:/ edit)也是如此。

java.lang.NullPointerException
    controllers.Test.doGet(Test.java:36)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

当我访问home(url:/; controller.NewsIndex )时,我没有收到异常-获得主页,但没有任何数据。 我做错了什么吗?

我的SQL文件位于/sql文件夹中。 我在META-INF/上获得了persistent.xml

任何帮助或参考,将不胜感激。 真的需要学习它。

谢谢!

好,

有关NullPointerException的详细解释。

当变量(在本例中为private NewsDAO newsDAO; )尚未初始化时,该“指针”指向内存中的任何内容。 然后,当您尝试调用方法时,那里什么也没有,并且发生NPE。

这里的问题是私人NewsDAO newsDAO; 不是由容器注入的,因此在您调用newsDAO.all(); newDAO为null并引发异常。

CDI注入仅在容器管理的组件上发生。 我是一个春季人,所以我不确定该去哪里。 尝试找出您的NewsDAO是否正在由容器加载。

Tomcat是一个Web容器...您需要一个带有EJB容器的完整Application Server来运行您的示例。 尝试下载并在glassfish,JBoss或任何其他完整的应用程序服务器上运行。

更多信息在这里。

http://en.wikipedia.org/wiki/Application_server#Java_application_servers

http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM