背景: 原Springboot项目没有接入数据库现需要接入。
step1. pom.xml文件中加入依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency><!-- MyBatis-Plus的启动器依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.7</version>
</dependency><!-- MySQL数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
<scope>runtime</scope>
</dependency>
step2:application.properties配置文件中:
spring.datasource.url=jdbc:mysql://your_sql_ip/your_database_name?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
spring.datasource.username=yourusername
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#mapper xml 如果不引用xml 也可以不配置这一行
mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml
#数据表对应的实体类所在的包名称
mybatis-plus.type-aliases-package=com.cn.demo.pojo
#启动日志输出
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
logging.level.org.springframework=DEBUG
logging.level.com.baomidou.mybatisplus=TRACE
step3:启动类加Mapper扫描范围
@SpringBootApplication
@MapperScan(basePackages = "com.cn.demo.mapper")
step4: pojo创建
@TableName("user")// 表名
@Data
public class User {
@TableId(type = IdType.AUTO)
private int id;
private String name;
}
step5: Mapper接口创建
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
step6: Service访问测试
@Autowired
UserMapper userMapper;
public String insertStatRecord(User user) {
final int insert = userMapper.insert(user);
System.out.println("insert:" + insert);
return "成功";
}
QA:
如果启动项目的时候报错
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'userMapper' defined in file ...
按接入顺序依次核对配置信息是否正确
其他无误的话大概率是版本冲突。
我用springboot 3.4.2 对应的mybatis为3.0.4, plus为3.5.7 这种是兼容的~