• 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

     

  • 相关阅读:
    设计模式基础:类及类关系的UML表示
    SQL 经典语句
    网络存储
    jstack Dump
    Windows上模拟Linux环境的软件Cygwin
    竞争条件
    Java volatile关键字
    java原子操作
    java死锁小例子
    死锁四个必要条件
  • 原文地址:https://www.cnblogs.com/yjh1995/p/14164430.html
Copyright © 2020-2023  润新知