- 本文章为黑马javaweb学习笔记
- Mybatis是一款优秀的持久层框架,用于简化JDBC的开发
- Springboot中已经集成了Mybatis框架,只需要在创建工程时勾选Mybatis及MySQL即可
- 下面是Spring的配置文件,文件为src/main/resources/application.properties
#配置数据库连接信息
#驱动类名称
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver
#数据库连接的url
spring.datasource.druid.url=jdbc:mysql://localhost:3306/test
#数据库连接的用户名
spring.datasource.druid.username=root
#连接数据库的密码
spring.datasource.druid.password=
其中spring.datasource.druid是因为采用了druid连接池,druid连接池是一款由阿里开发的,功能强大的数据库连接池,是目前最好的连接池技术之一。如果想采用Spring自带的连接池,只需要spring.datasource即可,也就是无需指定druid。
- 接下来展示代码,首先是目录结构
在该项目中Mapper负责进行数据库操作,pojo负责存储数据库数据中对应的实体类,test负责测试程序
- AccountMapper
package springmybatis.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import springmybatis.pojo.Account;
import java.util.List;
@Mapper//在运行是会自动生成该接口的实现类对象,并且将该对象交给IOC容器管理
public interface AccountMapper {
//表示其为查询语句并且后面即为查询语句
@Select("select * from test.account")
public List<Account> sqlAccount();
}
接下来是pojo中的Account类
@Data//使用该参数可以生成所以get/set方法,tostring和equals方法等
@NoArgsConstructor//无参构造
@AllArgsConstructor//有参构造
public class Account {
Integer id= 0;
String name = "";
Double money = 0.0;
}
普通写法需要加入get/set/toString以及有参/无参构造方法,这样太过繁琐,使用lombok则可以简化代码编写
最后是test类
package springmybatis;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import springmybatis.mapper.AccountMapper;
import springmybatis.pojo.Account;
import java.util.List;
@SpringBootTest
class SpringMybatisApplicationTests {
@Autowired
private AccountMapper accountMapper;
@Test
public void sqlAccount(){
List<Account> accountList = accountMapper.sqlAccount();
accountList.stream().forEach(account -> {
System.out.println(account);
});
}
}
只需要运行@Test下的方法,即可检验程序正确性
最后是项目的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>SpringMybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>SpringMybatis</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>2.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<!-- druid连接池依赖-->
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>