我正在玩这个教程,它在我的Tomcat7服务器上运行正常:http://www.concretepage.com/spring-4/spring-mvc-4-rest-angularjs-hibernate-4-integration-crud-tutorial-with-ngresource-example
只有'问题是它似乎没有正确连接到数据库。该应用程序用于在启动时从表中获取数据,但这不会发生。我已经扫描了catalina.out和localhost.out日志以查找错误但没有找到任何内容。
我的问题是hibernate框架抽象了数据库连接和查询的大部分实际机制,我甚至不知道从哪里开始调试。
问题是:在哪里查找日志?另类,我的代码中应该添加一些调试日志(例如使用Log4j)?我已在下方的应用中插入了一些代码段。
感谢您的帮助。
AHL
检查mysql是否在端口3306上运行:
vagrant@precise32:/var/log$ netstat -tln Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:44446 0.0.0.0:* LISTEN
tcp6 0 0 :::111 :::* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 :::36003 :::* LISTEN
tcp6 0 0 :::46532 :::* LISTEN
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
vagrant@precise32:/var/log$
我的数据库配置类:
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/concretepage");
dataSource.setUsername("root");
dataSource.setPassword("root");
return dataSource;
}
数据库和表存在:
mysql> use concretepage;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from person;
+-----+--------+----------+
| pid | name | location |
+-----+--------+----------+
| 1 | Mahesh | Varanasi |
| 2 | Ram | Ayodhya |
+-----+--------+----------+
2 rows in set (0.00 sec)
mysql>