Домой java Примеры Spring + JdbcTemplate + JdbcDaoSupport

Примеры Spring + JdbcTemplate + JdbcDaoSupport

1149
0

В разработке Spring JDBC вы можете использовать JdbcTemplate а также JdbcDaoSupport классы для упрощения общих процессов работы с базой данных.

В этом руководстве мы будем повторно использовать последний пример Spring + JDBC , чтобы увидеть разницу между примером до (без поддержки JdbcTemplate) и после (с поддержкой JdbcTemplate).

1. Пример без JdbcTemplate

Без JdbcTemplate вам нужно создать много избыточных кодов (создать соединение, закрыть соединение, обработать исключение) во всех методах работы с базой данных DAO — вставлять, обновлять и удалять. Это просто не эффективно, безобразно, подвержено ошибкам и утомительно.


private DataSource dataSource;

public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}

public void insert(Customer customer){

String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";
Connection conn = null;

try {
conn = dataSource.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, customer.getCustId());
ps.setString(2, customer.getName());
ps.setInt(3, customer.getAge());
ps.executeUpdate();
ps.close();

} catch (SQLException e) {
throw new RuntimeException(e);

} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {}
}
}
}

2. Пример с JdbcTemplate

С JdbcTemplate вы экономите много печатания на избыточных кодах, потому что JdbcTemplate будет обрабатывать это автоматически.


private DataSource dataSource;
private JdbcTemplate jdbcTemplate;

public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}

public void insert(Customer customer){

String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";

jdbcTemplate = new JdbcTemplate(dataSource);

jdbcTemplate.update(sql, new Object[] { customer.getCustId(),
customer.getName(),customer.getAge()
});

}

Видишь разные?

ЧИТАТЬ ТАКЖЕ:  Как включить настройку прокси в Maven

3. Пример с JdbcDaoSupport

Благодаря расширению JdbcDaoSupport, установке источника данных и JdbcTemplate в вашем классе больше не требуется, вам просто нужно вставить правильный источник данных в JdbcCustomerDAO. И вы можете получить JdbcTemplate с помощью метода getJdbcTemplate ().


public class JdbcCustomerDAO extends JdbcDaoSupport implements CustomerDAO
{
// здесь не нужно указывать источник данных
public void insert(Customer customer){

String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";

getJdbcTemplate().update(sql, new Object[] { customer.getCustId(),
customer.getName(),customer.getAge()
});

}




















Заметка
В разработке Spring JDBC всегда рекомендуется использовать JdbcTemplate а также JdbcDaoSupport вместо того, чтобы кодировать код JDBC самостоятельно.

Скачать исходный код

Загрузить его — Spring-JDBC-Example.zip (15 КБ), интеграция jdbc spring

Примеры Spring + JdbcTemplate + JdbcDaoSupport

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь