1介绍
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sKMCHJgo-1652341680496)(D:\information\VNote\note\java\框架\MyBatisPlus\1 教程.assets\1635746909720.png)]
2 特性
- 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
- 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
- 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
3 通用mapper
3-1 mybatis和spring一起使用
1 依赖
pom文件
<dependencies> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.11.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.11.RELEASE</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.11.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> </dependencies>
由mybatis的jar缓存了mybatis-plus的jar
2 整合
其它都不变,只是创建会话工厂的时候使用mybatis-plus的
<bean class="com.alibaba.druid.pool.DruidDataSource" id="dataSource"> <property name="url" value="jdbc:mysql:///mybatis?serverTimezone=UTC"></property> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> <bean class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean" id="sqlSessionFactory"> <property name="dataSource" ref="dataSource"></property> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="cn.laixueit.mapper"></property> </bean>
3 baseMapper
public interface UserMapper extends BaseMapper<User> {
}
4 基础方法
4-1 查所有
@Test public void selectall(){ userMapper.selectList(null).forEach(System.out::println); }
4-2 根据id查
@Test public void selectbyid(){ User user = userMapper.selectById(1); System.out.println("user = " + user); }
4-3 查单条(必须保证返回结果是一条)
@Test public void selectone(){ QueryWrapper<User> wrapper = new QueryWrapper<>()