Mybatis-plus
1. Maven依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.19</version>
</dependency>
2. 结构处理
1.springboot快速初始化
2. 所需构件
devtools lombok web mysql
3.总体结构
建立dao(mapper)包,在启动类中开启注解扫描整个包
@MapperScan(“com.exzample.dao”)
编写配置文件
application.properties
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mybatis-plus?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=000000
创建数据库,创建表
创建表对应的实体类,包名entity
- 加注解
@Data @AllArgsConstructor //有参构造 @NoArgsConstructor //无参构造 @ToString @Accessors(chain = true) //链式调用
属性对应列名
DAO接口(使用mybatis-plus增强方法)
//使用mybatis-plus增强接口 public interface UserDao extends BaseMapper<User> { }
测试
import com.example.dao.UserDao; import com.example.entity.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import java.util.List; @SpringBootTest public class UserDaoTest { @Autowired private UserDao userDao; @Test public void findAllTest(){ List<User> users = userDao.selectList(null); users.forEach(user -> System.out.println("user = " + user)); } }
解释:
- 表名和类名一一对应
- 属性名和列名一一对应
3. 常用注解
@TableName注解 //用于表名和类名相对应,默认将类名当作表名 @TableName(value = "user")
@TableId注解 //主键注解,默认将属性名当作列名 @TableId(value = "id",type = IdType.AUTO)
@TableField注解 //用于属性名和列名相对应,默认将属性名当作列名 @TableField(exist = false) //不映射进数据库查询