Домой java Spring SimpleJdbcTemplate Запрос примеров

Spring SimpleJdbcTemplate Запрос примеров

560
0

Содержание

Вот несколько примеров, чтобы показать, как использовать SimpleJdbcTemplate query() методы для запроса или извлечения данных из базы данных. В JdbcTemplate query() Вам нужно вручную привести возвращаемый результат к желаемому типу объекта и передать массив Object в качестве параметров. В SimpleJdbcTemplate это более удобно и просто.

jdbctemplate vesus simplejdbctemplate
Пожалуйста, сравните этот пример SimpleJdbcTemplate с этим примером JdbcTemplate .

1. Запросы для одной строки

Вот два способа показать вам, как запросить или извлечь одну строку из базы данных и преобразовать ее в класс модели.

1.1 Пользовательский RowMapper

В общем, всегда рекомендуется реализовывать интерфейс RowMapper для создания пользовательского RowMapper в соответствии с вашими потребностями.


package com.csharpcoderr.customer.model;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.springframework.jdbc.core.RowMapper;

public class CustomerRowMapper implements RowMapper
{
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Customer customer = new Customer();
customer.setCustId(rs.getInt("CUST_ID"));
customer.setName(rs.getString("NAME"));
customer.setAge(rs.getInt("AGE"));
return customer;
}

}

public Customer findByCustomerId(int custId){

String sql = "SELECT * FROM CUSTOMER WHERE CUST_ID = ?";

Customer customer = getSimpleJdbcTemplate().queryForObject(
sql,  new CustomerParameterizedRowMapper(), custId);

return customer;
}

1.2 BeanPropertyRowMapper

В SimpleJdbcTemplate вам нужно использовать «ParameterizedBeanPropertyRowMapper» вместо «BeanPropertyRowMapper».


public Customer findByCustomerId2(int custId){

String sql = "SELECT * FROM CUSTOMER WHERE CUST_ID = ?";

Customer customer = getSimpleJdbcTemplate().queryForObject(sql,
ParameterizedBeanPropertyRowMapper.newInstance(Customer.class), custId);

return customer;
}

2. Запросы для нескольких строк

Запрос или извлечение нескольких строк из базы данных и преобразование его в список.

ЧИТАТЬ ТАКЖЕ:  Python - Как зациклить список

2.1 ParameterizedBeanPropertyRowMapper


public List findAll(){

String sql = "SELECT * FROM CUSTOMER";

List customers =
getSimpleJdbcTemplate().query(sql,
ParameterizedBeanPropertyRowMapper.newInstance(Customer.class));

return customers;
}

3. Запросы для одного значения

Запрос или извлечение значения одного столбца из базы данных.

3.1 Название одного столбца

Он показывает, как запросить имя одного столбца как String.


public String findCustomerNameById(int custId){

String sql = "SELECT NAME FROM CUSTOMER WHERE CUST_ID = ?";

String name = getSimpleJdbcTemplate().queryForObject(
sql, String.class, custId);

return name;

}

3.2 Общее количество строк

Он показывает, как запросить общее количество строк из базы данных.


public int findTotalCustomer(){

String sql = "SELECT COUNT(*) FROM CUSTOMER";

int total = getSimpleJdbcTemplate().queryForInt(sql);

return total;
}

Запустить его


package com.csharpcoderr.common;

import java.util.ArrayList;
import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.csharpcoderr.customer.dao.CustomerDAO;
import com.csharpcoderr.customer.model.Customer;

public class SimpleJdbcTemplateApp
{
public static void main( String[] args )
{
ApplicationContext context =
new ClassPathXmlApplicationContext("Spring-Customer.xml");

CustomerDAO customerSimpleDAO =
(CustomerDAO) context.getBean("customerSimpleDAO");

Customer customerA = customerSimpleDAO.findByCustomerId(1);
System.out.println("Customer A : " + customerA);

Customer customerB = customerSimpleDAO.findByCustomerId2(1);
System.out.println("Customer B : " + customerB);

List customerAs = customerSimpleDAO.findAll();
for(Customer cust: customerAs){
System.out.println("Customer As : " + customerAs);
}

List customerBs = customerSimpleDAO.findAll2();
for(Customer cust: customerBs){
System.out.println("Customer Bs : " + customerBs);
}

String customerName = customerSimpleDAO.findCustomerNameById(1);
System.out.println("Customer Name : " + customerName);

int total = customerSimpleDAO.findTotalCustomer();
System.out.println("Total : " + total);

}
}

Заключение

SimpleJdbcTemplate не является заменой JdbcTemplate, это просто java5-дружественное дополнение к нему.

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

Загрузить его — Spring-SimpleJdbcTemplate-Querying-Example.zip (15 КБ) jdbc spring

Spring SimpleJdbcTemplate Запрос примеров

0.00 (0%) 0 votes

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

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