SpringBoot整合Mybatis
- 导入Mybatis启动器和mysql依赖
<!--引入Mybatis启动器依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!--引入mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.16</version>
</dependency>
- 编写配置文件
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/userdb?useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
mybatis:
#给实体类起别名
type-aliases-package: com.zuxia.entity
#指定mapper.xml映射文件的路径,如何和dao层的名字一致,则不用写也可以找到
mapper-locations: classpath:mapper/*.xml
- 开发业务的逻辑和ssm一致
注意:在dao层一定要加@Mapper注解,否则dao层的对象不能注入到service中,如果在dao层不写@Mapper注解,则要在启动类上加@ComponentScan(“com.zuxia.mapper”)
如:
package com.zuxia.mapper;
import com.zuxia.entity.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
//如果在Dao层不加@Mapper注解
// 则要在启动类上加@ComponentScan("com.zuxia.mapper")扫描dao层的包
@Mapper
public interface UserDao {
List<User> selectALl();
}
启动类中
package com.zuxia;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
//@ComponentScan("com.zuxia.mapper") //在dao层加了@Mapper就不需要加
public class SpringBoot02MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBoot02MybatisApplication.class, args);
}
}