springboot整合mybatis

2019-05-22  本文已影响0人  黑猫警长1122
  1. pom引入mybatis依赖
    要引入mybatis-spring-boot-starter,而不是mybatis-spring或其他的包,因为starter将该用到的包都引入了,而mybatis-spring还要引入如log相关的包,相对复杂
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
  1. 启动类增加扫描入口 @MapperScan
@SpringBootApplication
@EnableFeignClients
@EnableJpaAuditing
@MapperScan("com.test.pay.*")
public class TestPaymentApplication {
    public static void main(String[] args) {
        SpringApplication.run(QeedooPaymentApplication.class, args);
    }
}
  1. 配置yml
mybatis.type-aliases-package=com.test.pay.model
mybatis.mapper-locations=classpath:/com/test/pay/mapper/*.xml
  1. 使用mybatis generator生成相应的文件,启动springboot即可
    注意:mybatis generator生成文件的时候,如果已经存在某些表的mapper.xml,会追加内容,此时启动springboot会报错,在生成的时候要先删除mapper.xml再生成,如果有自定义查询,拷贝出来,生成后再拷回去
  2. 可能遇到的问题
  1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
    除了配置的问题,可能是xml文件根本没有编译。如果xml是放在package下,而不是在resources下,maven是不会编译的,需要修改pom。在build中加入:
                <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
        </resources>
上一篇 下一篇

猜你喜欢

热点阅读