SpringBoot + MyBatis-plus 关键节点记录
导入依赖(pom.xml)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
配置MyBatis连接数据库(application.properties)
# 配置连接数据库的四大参数
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1/seckill?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
# 指定连接池的类型
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# 显示SQL语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
# 用*mapper.xml 方式自己写SQL需要做以下配置来映射mapper和SQL
# mybatis-plus.type-aliases-package=com.lzn.miaokill.entity
# mybatis-plus.mapper-locations=classpath:mapper/*.xml
定义并实现mapper接口
mapper 接口继承BaseMapper<实体> 即可自动生成mapper的实现类,实现类会继承BaseMapper的CRUD等基础查询方法
public interface SecKillMapper extends BaseMapper<SecKill> {
如果要定义自己的查询方法,在这里定义方法,并创建相应的impl实现类实现自定义方法(注解方式 或
*mapper.xml方式),第二种方法就需要上一步中的配置,并在配置所示路径下编写*mapper.xml文件以
实现映射
}
*为项目添加注解
1、只需要在启动类上面添加@MapperScan(“mapper接口所在文件夹”),即可扫描到mapper接口,并将mapper的实现类注入到 IOC 容器中
注:有了该注解就不需要@Repository或@Mapper注解,这俩注解也是用于将mapper注入IOC容器中
2、如果驼峰命名规则的实体名、属性名和数据库表名或字段名不一致,则必须添加@TableName(“表名”)、@TableField(“字段名”)注解,分别将实体名-表名、属性名-字段名映射,如果使用MyBatis-Plus的SelectById()方法必须在Id属性上添加@TableId(“字段名”)
mapper接口的使用
经过以上步骤,用于和数据库交互的mapper接口已经封装好,在Spring中使用该接口只需要从IOC容器中取出该接口的实现类即可:
@Resource
private SecKillMapper secKillMapper;
通过 secKillMapper 即可在service层或测试类中使用mapper的所有查询方法
mapper的查询方法包括:
从BaseMapper继承来的所有方法和自己在mapper中定义查询方法