目錄
?
一、基礎(chǔ)工程
1、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù):mp
2、添加數(shù)據(jù)
3、創(chuàng)建初始工程
?4、添加依賴
二、Mybatis + Mybatis-Plus
1、創(chuàng)建子工程:mybatis-plus-simple
2、在子工程下添加配置
2.1Mybatis實(shí)現(xiàn)查詢User
2.1.1、編寫(xiě)User實(shí)體對(duì)象
2.1.2、編寫(xiě)UserMapper接口
2.1.3、編寫(xiě)UserMapper.xml文件
2.1.4、編寫(xiě)TestMybatis測(cè)試
2.2Mybatis+MP實(shí)現(xiàn)查詢User
2.2.1、將UserMapper繼承BaseMapper,將擁有了BaseMapper中的所有方法
2.2.2、使用MP中的MybatisSqlSessionFactoryBuilder進(jìn)程構(gòu)建
三、Spring + Mybatis + Mybatis-Plus
1、創(chuàng)建子Module
?2、添加pom文件
?3、編寫(xiě)jdbc.properties
4、編寫(xiě)applicationContext.xml
5、編寫(xiě)User對(duì)象以及UserMapper接口
6、編寫(xiě)測(cè)試類(lèi)
四、SpringBoot + Mybatis + Mybatis-Plus
1、創(chuàng)建一個(gè)工springboot程
?2、添加依賴
3、添加日志文件及配置
4、編寫(xiě)pojo
5、編寫(xiě)mapper
6、編寫(xiě)測(cè)試類(lèi)
一、基礎(chǔ)工程
1、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù):mp
create database if not exists mp;
2、添加數(shù)據(jù)
-- 創(chuàng)建測(cè)試表
CREATE TABLE `tb_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
`user_name` varchar(20) NOT NULL COMMENT '用戶名',
`password` varchar(20) NOT NULL COMMENT '密碼',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(11) DEFAULT NULL COMMENT '年齡',
`email` varchar(50) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 插入測(cè)試數(shù)據(jù)
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('1', 'zhangsan', '123456', '張三', '18', 'test1@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('2', 'lisi', '123456', '李四', '20', 'test2@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('3', 'wangwu', '123456', '王五', '28', 'test3@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('4', 'zhaoliu', '123456', '趙六', '21', 'test4@itcast.cn');
INSERT INTO `tb_user` (`id`, `user_name`, `password`, `name`, `age`, `email`) VALUES
('5', 'sunqi', '123456', '孫七', '24', 'test5@itcast.cn');
3、創(chuàng)建初始工程
?4、添加依賴
<dependencies>
<!-- mybatis-plus插件依賴 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.1.1</version>
</dependency>
<!-- MySql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- 連接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
<!--簡(jiǎn)化bean代碼的工具包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<version>1.18.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
二、Mybatis + Mybatis-Plus
1、創(chuàng)建子工程:mybatis-plus-simple
2、在子工程下添加配置
2.1Mybatis實(shí)現(xiàn)查詢User
日之文件:log4j.properties
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%t] [%c]-[%p] %m%n
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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mp?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
2.1.1、編寫(xiě)User實(shí)體對(duì)象
package com.mp.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Long id;
private String userName;
private String password;
private String name;
private Integer age;
private String email;
}
2.1.2、編寫(xiě)UserMapper接口
public interface UserMapper {
List<User> findAll();
}
2.1.3、編寫(xiě)UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mp.mapper.UserMapper">
<resultMap id="MappingName" type="com.mp.pojo.User">
<id property="id" column="id"/>
<result property="userName" column="user_name"/>
<result property="password" column="password"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
<result property="email" column="email"/>
</resultMap>
<select id="findAll" resultMap="MappingName">
select * from tb_user
</select>
</mapper>
2.1.4、編寫(xiě)TestMybatis測(cè)試
public class TestMybatis {
@Test
public void testUserList() throws Exception{
//讀取配置文件
String resource = "mybatis-config.xml";
//加載資源文件。
InputStream inputStream = Resources.getResourceAsStream(resource);
//創(chuàng)建 sqlSessionFactory 工廠
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//創(chuàng)建 SqlSession 對(duì)象
SqlSession sqlSession = sqlSessionFactory.openSession();
//獲取一個(gè) UserMapper 的實(shí)例
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//調(diào)用方法
List<User> list = userMapper.findAll();
for (User user : list) {
System.out.println(user);
}
}
}
2.2Mybatis+MP實(shí)現(xiàn)查詢User
2.2.1、將UserMapper繼承BaseMapper,將擁有了BaseMapper中的所有方法
public interface UserMapper extends BaseMapper<User> {
List<User> findAll();
}
2.2.2、使用MP中的MybatisSqlSessionFactoryBuilder進(jìn)程構(gòu)建
public class TestMybatisPlus {
@Test
public void testUserList() throws Exception{
//讀取配置文件
String resource = "mybatis-config.xml";
//加載資源文件。
InputStream inputStream = Resources.getResourceAsStream(resource);
//這里使用的是mybatisplus中的MybatisSqlSessionFactoryBuilder
SqlSessionFactory sqlSessionFactory = new MybatisSqlSessionFactoryBuilder().build(inputStream);
//創(chuàng)建 SqlSession 對(duì)象
SqlSession sqlSession = sqlSessionFactory.openSession();
//獲取一個(gè) UserMapper 的實(shí)例
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 可以調(diào)用BaseMapper中定義的方法
List<User> list = userMapper.selectList(null);
for (User user : list) {
System.out.println(user);
}
}
}
三、Spring + Mybatis + Mybatis-Plus
1、創(chuàng)建子Module
?2、添加pom文件
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<spring.version>5.1.6.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
?3、編寫(xiě)jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mp?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
jdbc.username=root
jdbc.password=root
4、編寫(xiě)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"
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:*.properties"/>
<!-- 定義數(shù)據(jù)源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="maxActive" value="10"/>
<property name="minIdle" value="5"/>
</bean>
<!--這里使用MP提供的sqlSessionFactory,完成了Spring與MP的整合-->
<bean id="sqlSessionFactory"
class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--掃描mapper接口,使用的依然是Mybatis原生的掃描器-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.mybatisplus.mapper"/>
</bean>
</beans>
5、編寫(xiě)User對(duì)象以及UserMapper接口
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_user")
public class User {
private Long id;
private String userName;
private String password;
private String name;
private Integer age;
private String email;
}
public interface UserMapper extends BaseMapper<User> {
}
6、編寫(xiě)測(cè)試類(lèi)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class TestSpringMP {
@Autowired
private UserMapper userMapper;
@Test
public void testSelectList(){
List<User> users = this.userMapper.selectList(null);
for (User user : users) {
System.out.println(user);
}
}
}
在teat下測(cè)試可能會(huì)讀取不到?applicationContext.xml文件,復(fù)制一份放在teat目錄下即可
?
四、SpringBoot + Mybatis + Mybatis-Plus
1、創(chuàng)建一個(gè)工springboot程
?2、添加依賴
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--mybatis-plus的springboot支持-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
</dependencies>
3、添加日志文件及配置
log4j.properties:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-686042.html
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%t] [%c]-[%p] %m%n
?編寫(xiě)application.properties文件:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-686042.html
spring.application.name = itcast-mp-springboot
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mp?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
4、編寫(xiě)pojo
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_user")
public class User {
private Long id;
private String userName;
private String password;
private String name;
private Integer age;
private String email;
}
5、編寫(xiě)mapper
public interface UserMapper extends BaseMapper<User> {
}
6、編寫(xiě)測(cè)試類(lèi)
@Autowired
private UserMapper userMapper;
@Test
public void testSelect() {
List<User> userList = userMapper.selectList(null);
for (User user : userList) {
System.out.println(user);
}
}
到了這里,關(guān)于Mybatis-Plus快速入門(mén)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!