Spring JDBC - JdbcTemplate 类
❮ 上一节
下一节 ❯
Spring JDBC - JdbcTemplate 类
org.springframework.jdbc.core.JdbcTemplate 类是 JDBC 核心包中的中心类。 它简化了 JDBC 的使用并有助于避免常见错误。 它执行核心 JDBC 工作流,让应用程序代码提供 SQL 并提取结果。此类执行 SQL 查询或更新,在 ResultSets 上启动迭代并捕获 JDBC 异常并将它们转换为在 org.springframework.dao 包中定义的通用、信息更丰富的异常层次结构。
类声明
以下是 org.springframework.jdbc.core.JdbcTemplate 类的声明 −
public class JdbcTemplate
extends JdbcAccessor
implements JdbcOperations
用法
步骤 1 − 使用配置的数据源创建 JdbcTemplate 对象。
步骤 2 − 使用 JdbcTemplate 对象方法进行数据库操作。
示例
以下示例将演示如何使用 JdbcTemplate 类读取查询。 我们将阅读学生表中的可用记录。
语法
实例
String selectQuery = "select * from Student";
List
在这里,
selectQuery − 选择查询以阅读学生。
jdbcTemplateObject − 学生 JDBCTemplate 对象从数据库中读取学生对象。
StudentMapper − StudentMapper 是一个 RowMapper 对象,用于将每个获取的记录映射到学生对象。
为了理解上述与 Spring JDBC 相关的概念,让我们编写一个选择查询的示例。 为了编写我们的示例,让我们有一个工作的 Eclipse IDE 并使用以下步骤来创建一个 Spring 应用程序。
步骤
说明
1
更新在 Spring JDBC - 第一个应用程序 章下创建的项目 Student。
2
更新 bean 配置并运行应用程序,如下所述。
以下是数据访问对象接口文件 StudentDAO.java 的内容。
实例
package com.tutorialspoint;
import java.util.List;
import javax.sql.DataSource;
public interface StudentDAO {
/**
* This is the method to be used to initialize
* database resources ie. connection.
*/
public void setDataSource(DataSource ds);
/**
* This is the method to be used to list down
* all the records from the Student table.
*/
public List
}
以下是 Student.java 文件的内容。
实例
package com.tutorialspoint;
public class Student {
private Integer age;
private String name;
private Integer id;
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
}
以下是 StudentMapper.java 文件的内容。
实例
package com.tutorialspoint;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
public class StudentMapper implements RowMapper
public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
Student student = new Student();
student.setId(rs.getInt("id"));
student.setName(rs.getString("name"));
student.setAge(rs.getInt("age"));
return student;
}
}
下面是定义的 DAO 接口 StudentDAO 的实现类文件StudentJDBCTemplate.java。
实例
package com.tutorialspoint;
import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
public class StudentJDBCTemplate implements StudentDAO {
private DataSource dataSource;
private JdbcTemplate jdbcTemplateObject;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplateObject = new JdbcTemplate(dataSource);
}
public List
String SQL = "select * from Student";
List
return students;
}
}
以下是 MainApp.java 文件的内容。
实例
package com.tutorialspoint;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.tutorialspoint.StudentJDBCTemplate;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
StudentJDBCTemplate studentJDBCTemplate = (StudentJDBCTemplate)context.getBean("studentJDBCTemplate");
System.out.println("------Listing Multiple Records--------" );
List
for (Student record : students) {
System.out.print("ID : " + record.getId() );
System.out.print(", Name : " + record.getName() );
System.out.println(", Age : " + record.getAge());
}
}
}
以下是配置文件 Beans.xml。
实例
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd "> class = "org.springframework.jdbc.datasource.DriverManagerDataSource"> class = "com.tutorialspoint.StudentJDBCTemplate">
创建完源和 bean 配置文件后,让我们运行应用程序。 如果您的应用程序一切正常,它将打印以下消息。
------Listing Multiple Records--------
ID : 1, Name : Zara, Age : 11
ID : 2, Name : Nuha, Age : 2
ID : 3, Name : Ayan, Age : 15
❮ 上一节
下一节 ❯
