4.集成数据库MySQL

1.数据准备
新建一个名为mydb的数据库,在mydb中新建一个名为user的数据表,然后往数据表里插入3条数据,具体SQL语句如下。

create database if not exists mydb character set = utf8;
create table user (
  id int(11) not null auto_increment,
  name varchar(30) default null,
  email varchar(50) default null,
  primary key (id)
);
insert into user values (1, 'cherry', '258****996@qq.com');
insert into user values (2, 'owen', '490***112@qq.com');
insert into user values (3, 'steven', '125****421@qq.com');

2.引入依赖
新建一个SpringBoot工程,并在pom.xml文件中添加集成MySQL所需要的dependency。

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.2</version>
	<scope>provided</scope>
</dependency>

3.添加配置
在application.properties文件中添加如下配置信息。

############################################################
#
# MySQL配置
#
############################################################
### 连接信息
spring.datasource.url = jdbc:mysql://localhost:3306/mydb
### 用户名
spring.datasource.username = root
### 密码
spring.datasource.password = admin123
### 驱动
spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver

4.创建实体类
在项目目录“/src/main/java/com/leichuangkj/mysql”下新建“/dao/po”目录,并在po目录下新建User实体类,具体代码如下。

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class User {
    private Integer id;

    private String name;

    private String email;
}

5.测试用例
在单元测试类MysqlApplicationTests中添加如下代码。

@SpringBootTest
class MysqlApplicationTests {
	@Resource
	private JdbcTemplate jdbcTemplate;

	/**
	 * @description SpringBoot集成Mysql单元测试
	 * @author steven
	 * @date 2020-06-14
	 */
	@Test
	public void mySqlTest(){
		String sql = "select id,name,email from user";
		List<User> userList = jdbcTemplate.query(sql, new RowMapper<User>(){
			@Override
			public User mapRow(ResultSet rs, int rowNum) throws SQLException {
				User user = new User();
				user.setId(rs.getInt("id"));
				user.setName(rs.getString("name"));
				user.setEmail(rs.getString("email"));
				return user;
			}
		});
		for(User user:userList){
			System.out.println("【id】:" + user.getId() + ";【name】:" + user.getName()+ ";【email】:" + user.getEmail());
		}
	}
}
  • JdbcTemplate:一个通过JDBC连接数据库的工具类,通过这个工具类对数据库进行增删改查等操作。
  • @Resource:自动注入,通过这个注解在项目启动之后,SpringBoot会实例化一个JdbcTemplate对象,省去初始化工作。
  • query:JdbcTemplate对象中的查询方法,通过传入的SQL语句和RowMapper对象,可以查询出数据库中的数据。
  • RowMapper:RowMapper对象可以将查询的每一行数据封装成用户自定义的类,在上述代码中,通过调用RowMapper中的mapRow方法,可将数据库中的每一行数据封装成User对象并返回。

右键执行MysqlApplicationTests单元测试,这时可以看到控制台显示“1 test passed”以及如下打印信息。

【id】:1;【name】:cherry;【email】:258****996@qq.com
【id】:2;【name】:owen;【email】:490***112@qq.com
【id】:3;【name】:steven;【email】:125****421@qq.com

在这里插入图片描述

6.工程目录结构
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值