MybatisPlus
ORM:对象关系映射,解决的是数据库和面向对象不匹配的问题,它的本质是简化操作数据库的编码。
MyBatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统。
MyBatis能够非常灵活地实现动态SQL,可以使用XML或注解来配置和映射原生信息,能够轻松地将Java的POJO(Plain Ordinary Java Object,普通的Java对象)与数据库中的表和字段进行映射关联。
MyBatis-Plus是一个 MyBatis 的增强工具,在 MyBatis 的基础上做了增强,简化了开发。
添加依赖
<!-- mybatis plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- mysql driver-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
spring.datasource.driver-class-name="com.mysql.cj.jdbc.Driver"
spring.datasource.url="jdbc:mysql://localhost:3306/milk?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8"
spring.datasource.name="root"
spring.datasource.password="root"
配置数据库信息之后,在启动类上添加MapperScan注解,参数为Mapper包。
package top.rczmm.springboot1;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@MapperScan("top.rczmm.springboot1.Mapper")
public class Springboot1Application {
public static void main(String[] args) {
SpringApplication.run(Springboot1Application.class, args);
}
}
package top.rczmm.springboot1.Mapper;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import top.rczmm.springboot1.poji.User;
@Mapper
public interface UserMapper {
@Insert("insert into users values(#{id},#{name}) ")
int add(User user);
}
CRUD,可以通过注释来写,也可以配置xml文件。
除此之外,MybatisPLus也提供了一些注解:
@TableName,当表名与实体类名称不一致时,可以使用@TableName注解进行关联。
n@TableField,当表中字段名称与实体类属性不一致时,使用@TableField进行关联
@TableId,用于标记表中的主键字段,MybatisPlus也提供了主键生成策略