一、创建springboot项目
二、引入依赖

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>
        <dependency>
            <!-- 注意这里mybatis要和springboot的版本匹配,否则执行时会报错,如SqlTempkate are required -->
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

三、创建包名,并书写mapper接口和xml文件
四、在application.yml或application.properties中填写配置信息

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/segment?serverTimezone=UTC
    username: root
    password: xxx
    driver-class-name: com.mysql.cj.jdbc.Driver

# 配置 MyBatis
mybatis:
  mapper-locations: classpath:com/example/segmentfaulttest0/mapper/*.xml
  <!-- 在mpper.xml中的resultMap-->
  type-aliases-package: com.example.segmentfaulttest0.domain
  <!-- -->
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

1.mapper-locations(可省略):用于当mapper接口和mapper.xml不在相同目录下时,指定mapper.xml的位置,mapper.xml再通过mapper标签的namespace去查找mapper接口
2.type-aliases-package(可省略):用于当resultMap或parameterType中不想填写全限定类名时,只想填写类名时,指定domain的包,如下

    <resultMap id="BaseResultMap" type="User">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="age" property="age"/>
    </resultMap>

3.map-underscore-to-camel-case(可省略):用于数据库中下划线分割字段映射到实体类中,这样不需要写resultMap用于数据库字段到实体类字段的映射关系,可以直接使用实体类用于parameterType和resultType
4.log-impl:在控制台开启sql语句输出,注意这里的语句是指jdbc预编译语句,包含?,而不是直击的语句
五、将mapper接口生成实体类并注入到bean容器中
1.方法一:直接使用@mapper到某个mapper接口上
2.方法二:在springboot启动类中使用MapperScan批量注册,如下

@SpringBootApplication
@MapperScan("com.example.segmentfaulttest0.mapper")
public class SegmentfaultTest0Application {

    public static void main(String[] args) {
        SpringApplication.run(SegmentfaultTest0Application.class, args);
    }

}

原来是小袁呐
1 声望0 粉丝