Spring Boot使用JDBC方式连接MySQL

首先去spring官网下载一个名为test的Spring Boot项目模板:https://start.spring.io/

然后在mysql中的testdb数据库中新建一张名为test_user的表:

drop table if exists `test_user`;create table `test_user` ( `id` integer not null auto_increment primary key, `name` varchar(20), `password` varchar(20));insert into test_user (`name`, `password`) values (‘zifeiy‘, ‘123456‘), (‘apple‘, ‘654321‘);

项目中,首先在pom.xml中引入依赖:

 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>

在application.properties中填写MySQL连接相关的信息:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdbspring.datasource.username=rootspring.datasource.password=passwordspring.datasource.driver-class-name=com.mysql.jdbc.Driver

然后新建一个Java Bean:TestUser.java:

package com.zifeiy.test.po;public class TestUser { private Integer id; private String name; private String password; // getters & setters public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}

然后在测试类中编辑如下代码进行测试:

package com.zifeiy.test;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import javax.annotation.Resource;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import org.springframework.test.context.junit4.SpringRunner;import com.zifeiy.test.po.TestUser;@RunWith(SpringRunner.class)@SpringBootTestpublic class TestApplicationTests { @Resource private JdbcTemplate jdbcTemplate; @Test public void contextLoads() { String sql = "select * from test_user"; List<TestUser> userList = (List<TestUser>) jdbcTemplate.query(sql, new RowMapper<TestUser>() { @Override public TestUser mapRow(ResultSet rs, int rowNum) throws SQLException { TestUser user = new TestUser(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setPassword(rs.getString("password")); return user; } }); System.out.println("查询成功"); for (TestUser user : userList) { System.out.println("id = " + user.getId() + " , name = " + user.getName() + " , password = " + user.getPassword()); } }}

在命令行中得到测试结果如下:

查询成功id = 1 , name = zifeiy , password = 123456id = 2 , name = apple , password = 654321

相关文章