二、快速开始——Spring集成Mybatis-Plus
2020-01-12 20:03
281 查看
由于MyBatis-Plus是在MyBatis的基础上只做增强不做改变,因此其与Spring的整合非常简单。只需把MyBatis的依赖换成MyBatis的依赖,再把sqlSessionFactory换成MyBatis-Plus的即可。下面让我们在Spring中快速集成Mybatis-Plus的具体操作:
1、准备测试表
-- 创建库 CREATE DATABASE mp; -- 使用库 USE mp; -- 创建表 CREATE TABLE tbl_employee( id INT(11) PRIMARY KEY AUTO_INCREMENT, last_name VARCHAR(50), email VARCHAR(50), gender CHAR(1), age int ); INSERT INTO tbl_employee(last_name,email,gender,age) VALUES('Tom','tom@jianshu.com',1,22); INSERT INTO tbl_employee(last_name,email,gender,age) VALUES('Jerry','jerry@jianshu.com',0,25); INSERT INTO tbl_employee(last_name,email,gender,age) VALUES('Black','black@jianshu.com',1,30); INSERT INTO tbl_employee(last_name,email,gender,age) VALUES('White','white@jianshu.com',0,35);
在自己的数据库中执行上面的sql。
2、新建Maven项目
2.1、新建一个空的maven父项目
2.1.1、我们在Idea里新建一个Maven父项目,用来管理之后我们所有模块的代码。在Idea中选择
File→
New→
Project
2.1.2、在弹出的页面中选择
maven然后
Next
2.1.3、填写自己喜欢的
groupId和
artifactId,我这里填的是
com.demo.mybatis-plus和
mybatis-plus-in-action,填写完之后然后
Next
2.1.4、继续点击
Next,如果所填路径不存在,Idea会提示是否穿件一个文件,点击
OK即可
2.1.5、项目创建完毕后删除
src文件夹,就得到了我们想要的空的父工程,如下图所示
2.2、修改pom文件
核心依赖:
<!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>${mybatis.plus.version}</version> </dependency> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency>
完整依赖:
<!-- 统一管理项目依赖版本 --> <properties> <mybatis.plus.version>3.2.0</mybatis.plus.version> <junit.version>4.12</junit.version> <log4j.version>1.2.17</log4j.version> <druid.version>1.1.20</druid.version> <mysql.version>5.1.48</mysql.version> <spring.version>5.2.0.RELEASE</spring.version> <lombok.version>1.18.10</lombok.version> </properties> <dependencies> <!-- mp 依赖 mybatis-plus 会自动维护 mybatis 以及 mybatis-spring 相关的依赖 Mybatis 及 Mybatis-Spring 依赖请勿加入项目配置,以免引起版本冲突!!!Mybatis-Plus 会自动帮你维护! --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>${mybatis.plus.version}</version> </dependency> <!--junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <!-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <!--lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> </dependencies> <!-- 设置JDK编译版本 --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
2.3、新建mp01模块–快速开始
2.3.1、我们在Idea里新建一个mp01模块,在Idea中选中当前项目 →
New→
Module;填写artifactId,点击
Next;确定
Module name的名称,点击
Finish完成
2.3.2、新建完成后的项目如下
2.3.3、添加实体类
在
mp01\src\main\java\com\mp\beans\Employee.java路径下添加实体类
Employee.java:
@Data @ToString public class Employee { private Integer id; private String lastName; private String email; private Integer gender; private Integer age; }
2.3.4、修改mp01的pom.xml
<?xml version="1.0" encoding="UTF-8"?> <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"> <parent> <artifactId>mybatis-plus-in-action</artifactId> <groupId>com.demo.mybatis-plus</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>mp01</artifactId> <dependencies> <!-- mp 依赖 mybatis-plus 会自动维护mybatis 以及 mybatis-spring相关的依赖 Mybatis 及 Mybatis-Spring 依赖请勿加入项目配置,以免引起版本冲突!!!Mybatis-Plus 会自动帮你维护! --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>${mybatis.plus.version}</version> </dependency> <!--junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <!-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!-- druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <!--lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> </dependencies> </project>
注意:这里在mp01的pom.xml文件中不添加上述依赖之后项目也是能正常运行的,但是我们加上相关依赖,是为让项目的依赖更加清晰一些
2.3.5、在
mp01\src\main\resources中添加配置文件:
Spring 配置文件——
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?> <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" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring" xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd 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-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <!-- 数据源 --> <context:property-placeholder location="classpath:db.properties"/> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean> <!-- 事务管理器 --> <bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 基于注解的事务管理 --> <tx:annotation-driven transaction-manager="dataSourceTransactionManager"/> <!-- 配置 SqlSessionFactoryBean mybatis提供的:org.mybatis.spring.SqlSessionFactoryBean mybatis-plus提供的:com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean --> <bean id="sqlSessionFactoryBean" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"> <!-- 数据源 --> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml"></property> <!-- 别名处理 --> <property name="typeAliasesPackage" value="com.mp.beans"></property> </bean> <!-- 配置 mybatis 扫描 mapper 接口的路径 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.mp.mapper"></property> </bean> </beans>
JDBC配置文件——
db.properties:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mp?useUnicode=true&characterEncoding=UTF-8&useSSL=false jdbc.username=root jdbc.password=123456
日志文件——
log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <param name="Encoding" value="UTF-8"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n"/> </layout> </appender> <logger name="java.sql"> <level value="debug"/> </logger> <logger name="org.apache.ibatis"> <level value="info"/> </logger> <root> <level value="debug"/> <appender-ref ref="STDOUT"/> </root> </log4j:configuration>
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> </configuration>
注意:mybatis-plus与spring整合,所有mybatis-plus的大部分都写在spring的配置文件中,这里定义一个空的mybatis-config.xml即可
2.3.6、测试
在
mp01\src\test\java\com\mp\test\TestMp.java路径下添加测试类
TestMp.java:
public class TestMp { private ApplicationContext iocContext = new ClassPathXmlApplicationContext("applicationContext.xml"); @Test public void testEnvironment() throws Exception { DataSource ds = iocContext.getBean("dataSource", DataSource.class); Connection conn = ds.getConnection(); System.out.println(conn); } }
运行
testEnvironment方法后如果能看到
Connection就证明我们的配置可以了。
完成后的项目结构如下:
综上,我们的
Spring集成
mybatis-plus的配置和环境搭建就完成了,下面我们就可以进入到下一节基本CRUD了。
源代码
相关示例完整代码:mybatis-plus-in-action
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- JeeFast是一款基于SpringBoot+Mybatis-Plus+Bootstrap+Vue搭建的JAVA WEB快速开发平台
- SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
- spring-cloud集成mybatis-plus
- Mybatis-plus集成springboot
- spring boot 快速集成 mybatis
- MyBatis快速入门(四) MyBatis和Spring集成
- MyBatis 在Spring boot项目中快速集成mybatis和mysql
- SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
- springboot+mybatis-plus集成
- mybatis(mybatis-plus)在spring-boot2中集成activiti
- 使用Springboot + Gradle快速整合Mybatis-Plus
- JeeFast是一款基于SpringBoot+Mybatis-Plus+Bootstrap+Vue搭建的JAVA WEB快速开发平台
- SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
- Mybatis-plus的快速集成和入门使用
- springboot 零xml集成mybatis-plus
- SpringBoot实践:集成Mybatis-Plus
- SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
- 简单快速的用SpringBoot集成多数据源(mybatis)
- springboot 集成mybatis plus3
- Springboot-2.0.6.RELEASE版本集成Mybatis-plus及Mysql