我目前正在使用以下代码连接到 mysql 数据库,但项目经理指出我必须使用 Spring 框架来处理连接。
我怎样才能实现这个目标?
使用Spring来处理数据库连接会提高整个系统的质量吗?
这是该类的示例
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class SomeClass {
Connection connection = null;
ResultSet resultSet;
Statement state;
ArrayList aList = new ArrayList();
public void connectToDatabase(String databaseName)
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = (Connection) DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/" + databaseName, "username", "password");
state = (Statement) connection.createStatement();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
private void populateAList() {
try
{
connectToTable("testDB");
resultSet = state.executeQuery("SELECT listItems FROM tblListItems WHERE ID = '" + theIDYouWant + "'");
while(resultSet.next())
{
aList.add(resultSet.getString("listItems"));
}
resultSet.close();
state.close();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
}
}
最佳答案
Spring 引用指南提供 detailed documentation of its support for JDBC 。至少,使用 JdbcTemplate --除了用于最基本的用法的 new JdbcTemplate(...)
之外,您不需要做任何事情--会:
- 消除了大量样板代码,
- 消除了忘记关闭语句和连接的能力,
- 减少不当异常处理的诱惑,并且
- 让您能够轻松摆脱低效的连接处理。
您所展示的代码受到所有这四个问题的影响,因此我不得不说,切换到 Spring 对您来说将是一个巨大的好处。
此外,如果您使用的是多线程应用程序(所有网络应用程序都是多线程的),请将“自动线程安全”添加到列表中,您的代码也缺少该功能。
关于java - 如何将Spring与JDBC集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858251/