一、
Mybatis-Plus默認會自動將添加的用戶的id打到對象上,插入用戶後可以直接得到id。
Mybatis需要手動添加useGeneratedKeys="true"
<insert id="insertSelective" parameterType="hx.insist.demo.dto.User" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
...
</insert>
在setting中設置的useGeneratedKeys參數會對接口映射器中的方法產生效果,但不會對xml映射器中的方法產生效果。且接口映射器中配置的useGeneratedKeys參數將覆蓋setting中配置的參數。xml映射器配置useGeneratedKeys參數是獨立的。
二、
Mybatis默認沒有開啓下劃線轉駝峯命名,需手動開啓,否則不會將某些字段映射,但是不開啓不會報異常
mybatis.configuration.map-underscore-to-camel-case=true
或者這樣
mybatis.configuration.mapUnderscoreToCamelCase=true
若沒有開啓這個轉換也有方法轉換:
- a)、配置resultMap,將對應字段和bean屬性映射
- b)、select起別名
三、
- 如果使用mybatis-spring-boot-starter依賴,需要配置mybatis.mapper-locations
- 如果使用mybatis-plus-boot-starter 依賴,需要配置 mybatis-plus.mapper-locations
- 如果使用mybatis-plus 依賴,需要配置 mybatis.mapper-locations
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
mybatis.mapper-locations: classpath:static/mybatis/*.xml,classpath:static/mybatis/Ext/*.xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.1.0</version>
</dependency>
mybatis.mapper-locations=classpath:mapper/*.xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
mybatis-plus.mapper-locations=classpath:mapper/*.xml
Mapper接口和xml文件的名字不必一致,只需要xml中對應的namespace對應就可以了:
<mapper namespace="hx.insist.demo.mapper.UserMapper">
四、
Mybatis-Plus使用中,mapper接口繼承(extends)BaseMapper時必須要顯示的寫上此類是對於哪個pojo的,即
extends BaseMapper,否則在執行相應原生mapper接口方法時會報錯:無效的綁定語句。
Invalid bound statement (not found): hx.insist.demo.mapper.xxxMapper.xxxxx