📅  最后修改于: 2023-12-03 15:35:03.384000             🧑  作者: Mango
本文将介绍Spring JDBC的第一个应用程序,让程序员快速了解如何使用Spring JDBC。
Spring JDBC是Spring的一个子项目,是一个JDBC的封装器,它提供了一种简单的方式来管理基于JDBC的数据库连接和事务。
在开始之前,我们需要准备以下环境:
创建一个新的Maven项目,取名为spring-jdbc-demo。
在pom.xml中添加以下依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
以上依赖的作用是添加Spring JDBC和MySQL驱动。
在配置文件中添加以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-5.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-5.2.xsd">
<!--注入数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<!--配置JdbcTemplate-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>
在这个配置文件中,我们使用dataSource
来注入MySQL数据库,然后使用jdbcTemplate
配置数据库的操作。
我们将创建一个简单的表来测试我们的Spring JDBC应用程序。
在MySQL数据库中创建一个名为employee
的表,表结构如下:
CREATE TABLE `employee` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`age` int NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
然后往表中添加一些数据:
INSERT INTO `employee` (name, age) VALUES ('张三', 20);
INSERT INTO `employee` (name, age) VALUES ('李四', 25);
INSERT INTO `employee` (name, age) VALUES ('王五', 30);
接下来我们将编写Java代码,使用Spring JDBC查询我们的数据。
public class Employee {
private int id;
private String name;
private int age;
// getters and setters
}
public interface EmployeeDao {
List<Employee> getEmployeeList();
}
public class EmployeeDaoImpl implements EmployeeDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@Override
public List<Employee> getEmployeeList() {
String sql = "SELECT * FROM employee";
return jdbcTemplate.query(sql, new RowMapper<Employee>() {
@Override
public Employee mapRow(ResultSet resultSet, int i) throws SQLException {
Employee employee = new Employee();
employee.setId(resultSet.getInt("id"));
employee.setName(resultSet.getString("name"));
employee.setAge(resultSet.getInt("age"));
return employee;
}
});
}
}
在以上代码中,我们使用JdbcTemplate
来执行SQL查询,并将查询结果映射到List<Employee>
中。
public class Main {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
EmployeeDao employeeDao = (EmployeeDao) context.getBean("employeeDao");
List<Employee> employees = employeeDao.getEmployeeList();
employees.forEach(System.out::println);
}
}
在以上代码中,我们加载配置文件并获取EmployeeDao
的bean,然后调用getEmployeeList
方法来查询数据。
我们现在可以运行我们的程序,然后查看控制台输出:
Employee{id=1, name='张三', age=20}
Employee{id=2, name='李四', age=25}
Employee{id=3, name='王五', age=30}
恭喜你,你已经完成了Spring JDBC的第一个应用程序!