springboot学习(四)整合MyBatis

添加mybatis、MySQL驱动、Druid(连接池)依赖

        <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>6.0.5</version>
       </dependency>
       <dependency>
           <groupId>org.mybatis.spring.boot</groupId>
           <artifactId>mybatis-spring-boot-starter</artifactId>
           <version>2.0.0</version>
       </dependency>
       <dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>druid-spring-boot-starter</artifactId>
           <version>1.1.10</version>
       </dependency>

在application.properties中配置数据库的基本信息

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  • 直接使用mybatis的注解进行查询

@Repository
public interface BookMapper {
   @Select("select * from Book where id=#{id}")
   Book queryById(String id);
}

Mapper.java创建好之后,还要配置mapper扫描,第一种方法是在每个Mapper.java上添加 @Mapper注解(不推荐);第二种在项目启动类上添加@MapperScan扫描Mapper

@SpringBootApplication
@MapperScan(basePackages = "com.hjy.dao")
public class Application {
   public static void main(String[] args) {
       SpringApplication.run(Application.class,args);
  }
}
  • 使用mapper.xml进行查询

使用mapper.xml进行查询时,xml文件可以存放在两个地方:

  1. 和Mapper.java存放在同一个包下,放在这里的Mapper.xml会被自动扫描到,但是有另外一个Maven带来的问题,就是java目录下的xml资源在项目打包时会被忽略掉,所以,如果UserMapper.xml放在包下,需要在pom.xml文件中再添加如下配置,避免打包时java目录下的XML文件被自动忽略掉

<build>
   <resources>
       <resource>
           <directory>src/main/java</directory>
           <includes>
               <include>**/*.xml</include>
           </includes>
       </resource>
       <resource>
           <directory>src/main/resources</directory>
       </resource>
   </resources>
</build>
  1. xml放在resources目录下,这样就不用担心打包时被忽略了,但是放在resources目录下,又不能自动被扫描到,需要在application.properties中添加配置。例如在resources目录下创建mapper目录用来放mapper文件

mybatis.mapper-locations=classpath:mapper/*.xml

 

posted @   hjy1995  阅读(96)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示