Mysql-连接器- Java 与 Spring-Jdbc 之间的区别
Difference between Mysql-Connector- Java vs Spring-Jdbc
据我所知,我们使用 Mysql-connector jar 将 java 应用程序连接到数据库。我正在关注 spring 教程,上面提到的两件事都是通过 maven 添加的。两者有什么区别?
MySQL 连接器是一个允许 Java 与 MySQL 对话的驱动程序。
Spring JDBC 是一个可以更轻松地编写 JDBC 代码的库。 JdbcTemplate 特别好用。
在 JdbcTemplate 之前:
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
int count;
try {
connection = dataSource.getConnection();
statement = connection.createStatement();
rs = statement.executeQuery("select count(*) from foo");
if(rs.next()) {
count = rs.getInt(0);
}
} catch (SQLException exp) {
throw new RuntimeException(exp);
} finally {
if(connection != null) {
try { connection.close(); } catch (SQLException exp) {}
}
if(statement != null) {
try { statement.close(); } catch (SQLException exp) {}
}
if(rs != null) {
try { rs.close(); } catch (SQLException exp) {}
}
}
JdbcTemplate 之后:
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
int count = jdbcTemplate.queryForObject("select count(*) from foo", Integer.class);
看到一种方法如何更糟糕了吗?
据我所知,我们使用 Mysql-connector jar 将 java 应用程序连接到数据库。我正在关注 spring 教程,上面提到的两件事都是通过 maven 添加的。两者有什么区别?
MySQL 连接器是一个允许 Java 与 MySQL 对话的驱动程序。
Spring JDBC 是一个可以更轻松地编写 JDBC 代码的库。 JdbcTemplate 特别好用。
在 JdbcTemplate 之前:
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
int count;
try {
connection = dataSource.getConnection();
statement = connection.createStatement();
rs = statement.executeQuery("select count(*) from foo");
if(rs.next()) {
count = rs.getInt(0);
}
} catch (SQLException exp) {
throw new RuntimeException(exp);
} finally {
if(connection != null) {
try { connection.close(); } catch (SQLException exp) {}
}
if(statement != null) {
try { statement.close(); } catch (SQLException exp) {}
}
if(rs != null) {
try { rs.close(); } catch (SQLException exp) {}
}
}
JdbcTemplate 之后:
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
int count = jdbcTemplate.queryForObject("select count(*) from foo", Integer.class);
看到一种方法如何更糟糕了吗?