3.2 springboot整合mybatis
3.2.1 实现步骤
- 引入mybatis起步依赖,添加mysql驱动
- 编写datasource和mybatis相关配置
- 定义表和实体类
- 编写dao和mapper文件(这两个不是同一个概念吗)/纯注解开发
3.2.2 代码
- 依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
- 导入数据库
use dp1;
drop table if exists user;
create table user(
id int(10) primary key auto_increment ,
password varchar(30) default null ,
username varchar(30) default null
);
insert into user(id,username,password) values (1,'张三','123'),(2,'李四','564');
- 编写配置文件
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 0000
url: jdbc:mysql:/localhost:3306/dp1 # ///是默认的意思,代表localhost:8080
- 编写dao类,mapper接口
// ./domain/user.java
public class user {
private String username;
private int id;
private String password;
...//getter,setter和toString方法
}
// ./mapper/usermapper.java
@Mapper
@Repository
public interface userMapper {
@Select("select * from user")
public List<user> findAll();
}
// test文件
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Demodemo1Application.class)
public class Demodemo1Applicationtest {
@Autowired
private userMapper userMapper;
@Test
public void testFindAll()
{
List<user> list = userMapper.findAll();
System.out.println(list);
}
}
3.2.3 扩展
找不到userMapper ---->运行时就可以找到了
也可以在userservice上添加注解@Repository
@Repository:这个注解是具有类似用途和功能的 @Component 注解的特化。它为 DAO 提供了额外的好处。它将 DAO 导入 IoC 容器,并使未经检查的异常有资格转换为 Spring DataAccessException。
原文链接