mybatis集成步骤:
- 配置dao接口的路径,在启动类上写@MapperScan(“包的全限定名”)
- 配置sql xml文件的路径,在application.properties文件(或者其他配置文件)中写mybatis.mapperLocations=classpath:abc/bbb/*.xml
(注意:abc.bbb可以是正常的包,也可以是Resource文件夹下的子文件夹)
配置额外选项
#下划线转驼峰
mybatis.configuration.map-underscore-to-camel-case=true
如果使用mybatis自己的配置文件进行配置,那么需要注意下面标签的顺序
<configuration>
<!-- 全局配置 -->
<!--注意:configuration标签里的内容,出现的顺序必须按照如下的先后顺序
properties,
settings,
typeAliases,
typeHandlers,
objectFactory,
objectWrapperFactory,
reflectorFactory,
plugins,
environments,
databaseIdProvider,
mappers
-->
<settings>
<!-- 下划线转驼峰 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
tk.mybatis
如果我们使用tk.mybatis,那么需要在原来的基础上增加一个maven依赖,如下
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>4.2.1</version>
</dependency>
然后修改启动类的@MapperScan
注解,原来是
import org.mybatis.spring.annotation.MapperScan;
改成
import tk.mybatis.spring.annotation.MapperScan;
(包名变了)
之后每个mapper(dao接口)都extends tk.mybatis.mapper.common.Mapper,示例代码如下:
package 你的包名;
import com.enn.dal.po.IcomeBasicPlatformTestTablePO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface XxxxMapper extends tk.mybatis.mapper.common.Mapper<XxxxEntity> {
XxxxEntity selectList();
}
下面是entity中的一些注解,有时候不加可能会有问题,所以加上吧,@Table
和@Id
还有@KeySql
package 你的包名;
import javax.persistence.Id;
import javax.persistence.Table;
import tk.mybatis.mapper.annotation.KeySql;
@Table(name = "数据库表的名字")
public class IcomeBasicPlatformTestTablePO {
// 这里可以在执行insert的时候返回主键
@Id
@KeySql(useGeneratedKeys = true)
private Integer id;
}