springboot搭配mybatisplus使用已作为常用的组合方式,本文介绍两者整合时的步骤及遇到的坑。
1. 依赖
<!--mybatis-plus相关-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
<!--数据库相关-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--常用库依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
2.配置文件
mybatis-plus:
mapper-locations: mapper/**/*.xml
type-aliases-package: com.example.mybatisplus.generator.entity
type-aliases-package的作用
<bean>
<property name = " typeAliasesPackage" value = " com.bean">
</property>
</bean>
设置这个以后再Mapper配置文件中在parameterType 的值就不用写成全路径名了
ep:parameterType="com.bean.User"可以写成parameterType = "User"
mapper-locations的作用
让框架找到xml文件,mapper//.xml 和classthpath:mapper//.xml 等价
3.项目结构
项目结构.png4.小结
4.1 遇到的问题
遇到org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题,有些文章说要在pom文件的build节点下夹下面这段引用,因为idea忽略了resource下的xml文件。然后加了并没有用,关键还是出在mybatis-plus.mapper-locations属性配错了。
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</testResource>
</testResources>-->
4.2 看编译结果
学会了从target目录下看编译结果。
image.png
网友评论