我有一個Java swing應用程序,我想使用Spring框架並使用JDBC連接MySQL數據庫。這是一個朋友的項目,我希望提供幫助,所以沒有任何與工作有關的東西。我對Spring框架和JDBC的瞭解只不過是基本的。 數據庫連接不起作用,我想要爲此提供解決方案。整個工程結構如下,如何使用Java swing應用程序來Spring框架和MySQL?
正如你看到的,該項目主要有3個包(com.dev.frontend.config,com.dev.frontend.panels和com.dev。 frontend.services;面板裏面有2子包:編輯和列表)
這裏是我的進度。
我使用的Apache Tomcat V8.0作爲服務器和context.xml文件裏面,我更新了數據庫中的信息,如下圖所示
**
<Context>
<Resource name="jdbc/spring" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="student"
password="student" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mySalesApp1" />
</Context>
* * 這爲服務器提供了用戶名,密碼和數據庫名稱。
- 我在項目中添加一個新的WebContent文件夾,並把web.xml和報價-servlet.xml文件有如下,
在DAO-context.xml中變爲如下,
服務包內有服務。java的源文件,我試圖做一些查詢,如下圖所示
@Component("Services") public class Services { private static NamedParameterJdbcTemplate jdbc; @Autowired public void setDataSource(DataSource jdbc) { this.jdbc = new NamedParameterJdbcTemplate(jdbc); } public static List<Customer> getMyCustomer() { return jdbc.query("select * from Customer", new RowMapper<Customer>(){ public Customer mapRow(ResultSet rs, int rowNum) throws SQLException { Customer customer = new Customer(); customer.setCustomerID(rs.getString("CustomerID")); customer.setName(rs.getString("Name")); customer.setAddress(rs.getNString("Address")); customer.setPhone1(rs.getNString("Phone 1")); customer.setPhone2(rs.getNString("Phone 2")); customer.setCreditLimit(rs.getDouble("Credit Limit")); customer.setCurrentCredit(rs.getDouble("Current Credit")); return customer; } }); } }
的web.xml文件文件如下,
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>MySpringMVC</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>offers</display-name>
<servlet-name>offers</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>offers</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<description>Spring Database</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/spring</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:com/dev/frontend/config/dao-context.xml
</param-value>
</context-param>
</web-app>
該程序知道數據庫連接從<resource-ref>
標記。這些offers-servlet.xml文件是從web.xml文件引用的,但我沒有使用它。在這個文件的末尾,有<context-param>
標籤,告訴掃描配置文件包內的dao-context.xml文件。
它知道使用<jee:jndi-lookup>
標籤並查找服務數據庫連接包。
的getMyCustomer()內的SQL查詢不工作,返回下面的錯誤,
如何解決此問題並正確連接數據庫?謝謝。
只是一句話:你的Spring版本是舊的_and_有已知的安全問題。更新至當前3.2或4.x – Marged
已更新至 4.2.2.RELEASE 。感謝您的建議。 –