Spring Boot 装配DataSource缺少依赖导致失败

<dependency>
   <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
      </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

如上是我在配置文件中正确配置datasource,并且spring bean管理配置正确情况下仍不能装配DataSource的一个最终解决方法;
具体报错信息:

Field dataSource in *.leaf.util.db.DBManager required a bean of type 'javax.sql.DataSource' that could not be found.
- Bean method 'dataSource' not loaded because @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'
- Bean method 'dataSource' not loaded because @ConditionalOnClass did not find required classes 'javax.transaction.TransactionManager', 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'

DataSource是接口,提供了和DriverManager类似的功能,但其抽象层次比DriverManager高,简单来说,可以理解为DataSource是DriverManager的进一步封装,从不关心某一数据库操作的具体实现抽象为了不关心到底是哪一数据库在提供服务。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在Spring Boot项目中使用MyBatis Starter,需要先添加以下依赖项: ```xml <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> ``` 然后,需要在application.properties文件中配置数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 接下来,需要创建一个MyBatis映射器接口和一个相应的XML文件。例如,创建一个UserMapper接口和一个user.xml文件: ```java public interface UserMapper { @Select("SELECT * FROM user") List<User> getAllUsers(); } ``` ```xml <mapper namespace="com.example.mapper.UserMapper"> <select id="getAllUsers" resultType="com.example.entity.User"> SELECT * FROM user </select> </mapper> ``` 最后,需要在Spring Boot的应用程序类上添加@MapperScan注释,以扫描映射器接口: ```java @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 现在,就可以在Spring Boot应用程序中使用MyBatis进行数据库操作了。例如,可以像下面这样使用UserMapper接口: ```java @RestController public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/users") public List<User> getAllUsers() { return userMapper.getAllUsers(); } } ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值