在構建SpringBoot項目+Mybatis時,出現Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required異常,經過多次試錯和求證,發(fā)現是Springboot版本和mybatisplus版本不適配的問題。
1.SpringBoot版本3.0以下
可以降低MybatisPlus版本至3.5.3版本以下,重新構建項目
1.引入必要的mysqlJar包
官方鏈接:MySQL :: Download Connector/Jhttps://dev.mysql.com/downloads/connector/j/
?2.引入依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
3.0版本以下的版本可以選擇不引入spring-boot-starter-data-jdbc依賴
2.Spring版本為3.0版本以上
使用Springboot內置的mysql,引入依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
3.配置接口(以UserMapper為例)
public interface UserMapper extends BaseMapper<User> {
}
繼承了BaseMapper,將泛型改為自己所要查表的User類
4.創(chuàng)建查表User類
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
為了減少構造方法,提升開發(fā)效率,所以引入了Lombok,直接導入@Data,@NoArgsConstructor,@AllArgsConstructor實現有參和無參構造
5.實現測試類
@SpringBootTest
public class MybatisPlusTest {
@Autowired
private UserMapper userMapper;
@Test
public void testSelectList(){
List<User> list= userMapper.selectList(null);
list.forEach(System.out::println);
}
}
自定義Test類可導入@SpringBootTest,通過@Autowired注解導入自己的查表類,用注解@Test標注自己的測試方法,在內部實現查表
注意:userMapper會報錯,這是因為接口類實例化的對象SpringBoot不能確定自動裝配方法是否生效,但是在實際運行過程中時沒有問題的。文章來源:http://www.zghlxwxcb.cn/news/detail-774988.html
6.yml文件配置及主應用類的配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/cppsql?serverTimezone=GMT%2B8&characterEncoding=utf-8&userSSl=false
username: root
password: 123456
主應用類需要加入@MapperScan("mapper接口所在的包路徑")文章來源地址http://www.zghlxwxcb.cn/news/detail-774988.html
到了這里,關于MybatisPlus顯示Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required異常問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!