MP是对Mybatis的开发简化,目前我们可以简单将其理解为MP封装了各种SQL语句。
这样一来我们在开发时便可以利用MP提供的BaseMapper接口完成对数据库的各种操作,而不是亲自编写Mapper接口,同时mapper.xml也变得不必要。
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0modelVersion>
-
- <groupId>org.examplegroupId>
- <artifactId>MybatisPlusartifactId>
- <packaging>pompackaging>
- <version>1.0-SNAPSHOTversion>
- <modules>
- <module>增强原生Mybatismodule>
- modules>
-
- <properties>
- <maven.compiler.source>8maven.compiler.source>
- <maven.compiler.target>8maven.compiler.target>
- properties>
-
- <dependencies>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>5.0.5.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-testartifactId>
- <version>5.0.5.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webartifactId>
- <version>5.0.5.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-webmvcartifactId>
- <version>5.0.5.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-jdbcartifactId>
- <version>5.0.5.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-txartifactId>
- <version>5.0.5.RELEASEversion>
- dependency>
-
-
- <dependency>
- <groupId>com.baomidougroupId>
- <artifactId>mybatis-plusartifactId>
- <version>3.5.1version>
- dependency>
-
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.26version>
- dependency>
-
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>druidartifactId>
- <version>1.2.8version>
- dependency>
-
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- <version>1.18.22version>
- dependency>
-
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.13.1version>
- dependency>
-
- <dependency>
- <groupId>log4jgroupId>
- <artifactId>log4jartifactId>
- <version>1.2.17version>
- dependency>
-
- dependencies>
-
- <build>
- <pluginManagement>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-pluginartifactId>
- <version>3.8.0version>
- plugin>
- plugins>
- pluginManagement>
- build>
-
- project>

- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd">
-
-
- <context:property-placeholder location="classpath:jdbc.properties"/>
-
-
- <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
- <property name="driverClassName" value="${driverClass}"/>
- <property name="url" value="${url}"/>
- <property name="username" value="${user}"/>
- <property name="password" value="${password}"/>
- bean>
-
-
- <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
-
- <property name="dataSource" ref="dataSource">property>
-
- <property name="typeAliasesPackage" value="pojo"/>
- bean>
-
-
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="mapper"/>
- bean>
-
- beans>
配置SessionFactory时使用MP提供的MybatisSqlSessionFactoryBean:
"com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"
User:
- package pojo;
-
- import com.baomidou.mybatisplus.annotation.TableName;
- import lombok.AllArgsConstructor;
- import lombok.Data;
- import lombok.NoArgsConstructor;
-
- @Data
- @NoArgsConstructor
- @AllArgsConstructor
- @TableName("tb_user")
- public class User {
- //lombok注解自动为对象创建各种方法
- private Long id;
- private String userName;
- private String password;
- private String name;
- private Integer age;
- private String email;
-
- }
其中 @Date 、@NoargsConstructor 、 @AllArgsConstructor 为lombok提供的注解,自动为User对象编写set、get、构造体等方法:

Mapper接口:
- package mapper;
-
- import com.baomidou.mybatisplus.core.mapper.BaseMapper;
- import pojo.User;
-
- public interface UserMapper extends BaseMapper
{//继承BaseMapper后便可使用其封装的诸多方法 - }
BaseMapper中封装了诸多方法,继承后直接引用即可:

jdbc.properties;
log4j.properties。
- @RunWith(SpringJUnit4ClassRunner.class)
- @ContextConfiguration(locations = {"classpath*:applicationContext.xml"})
- public class test {
- @Autowired
- private UserMapper mapper;
-
- @Test
- public void test() {
-
- List
list = mapper.selectList(null); - for(User user: list ) {
- System.out.println(user);
- }
-
- }
- }
运行成功:
