Mybatis整合MP
创始人
2024-02-06 14:21:07
0

Mybatis整合MP

案例准备:

创建测试表:

-- 创建测试表
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;
-- 插入测试数据
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');

在这里插入图片描述


Mybatis+MP

第一步:创建一个maven工程 ,导入坐标;

	org.apache.maven.pluginsmaven-compiler-plugin1.81.8com.baomidoumybatis-plus3.1.1mysqlmysql-connector-java5.1.47 com.alibabadruid1.0.11org.projectlomboklombok1.18.4junitjunit4.12org.slf4jslf4j-log4j121.6.4

第二步:在resource文件中创建log4j.properties、jdbc.properties、mybatis-config.xml等配置文件

log4j文件:

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

jdbc文件:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mp?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
jdbc.username=root
jdbc.password=sa123

mybatis-config:





第三步:创建User实体类对象;(这里使用lombok进行了进化bean操作)

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 {private Long id;private String userName;private String password;private String name;private Integer age;private String email;
}

第四步:编写UserMapper接口

package Mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import pojo.User;import java.util.List;public interface UserMapper extends BaseMapper {List findAll();
}

第五步:配置UserMapper配置文件





第六步:在测试文件中测试

import Mapper.UserMapper;
import com.baomidou.mybatisplus.core.MybatisSqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import pojo.User;import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;public class MPtest {//使用mybatis自定义方法查询tb_user所有的数据@Testpublic void test() throws IOException {String resouce="mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resouce);SqlSessionFactory build = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = build.openSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List all = mapper.findAll();for(User user:all){System.out.println(user);}}//使用Mybatis+MP技术查询所有数据@Testpublic void  mptest() throws IOException {String resouce="mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resouce);SqlSessionFactory build = new MybatisSqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = build.openSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List all = mapper.selectList(null);for(User user:all){System.out.println(user);}}
}

test测试控制台打印:

执行语句:select * from tb_user

[main] [org.apache.ibatis.datasource.pooled.PooledDataSource]-[DEBUG] Created connection 1427651360.
[main] [org.apache.ibatis.transaction.jdbc.JdbcTransaction]-[DEBUG] Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@55183b20]
[main] [Mapper.UserMapper.findAll]-[DEBUG] ==>  Preparing: select * from tb_user 
[main] [Mapper.UserMapper.findAll]-[DEBUG] ==> Parameters: 
[main] [Mapper.UserMapper.findAll]-[DEBUG] <==      Total: 6
User(id=1, userName=null, password=123456, name=张三, age=18, email=test1@itcast.cn)
User(id=2, userName=null, password=123456, name=李四, age=20, email=test2@itcast.cn)
User(id=3, userName=null, password=123456, name=王五, age=28, email=test3@itcast.cn)
User(id=4, userName=null, password=123456, name=赵六, age=21, email=test4@itcast.cn)
User(id=5, userName=null, password=123456, name=孙七, age=24, email=test5@itcast.cn)
User(id=9, userName=null, password=123456, name=刘备, age=30, email=liubei@itcast.cn)

mptest测试控制台打印:

执行语句:SELECT id,user_name,password,name,age,email FROM tb_user

[main] [org.apache.ibatis.datasource.pooled.PooledDataSource]-[DEBUG] Created connection 1661406123.
[main] [org.apache.ibatis.transaction.jdbc.JdbcTransaction]-[DEBUG] Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@63070bab]
[main] [Mapper.UserMapper.selectList]-[DEBUG] ==>  Preparing: SELECT id,user_name,password,name,age,email FROM tb_user 
[main] [Mapper.UserMapper.selectList]-[DEBUG] ==> Parameters: 
[main] [Mapper.UserMapper.selectList]-[DEBUG] <==      Total: 6
User(id=1, userName=zhangsan, password=123456, name=张三, age=18, email=test1@itcast.cn)
User(id=2, userName=lisi, password=123456, name=李四, age=20, email=test2@itcast.cn)
User(id=3, userName=wangwu, password=123456, name=王五, age=28, email=test3@itcast.cn)
User(id=4, userName=zhaoliu, password=123456, name=赵六, age=21, email=test4@itcast.cn)
User(id=5, userName=sunqi, password=123456, name=孙七, age=24, email=test5@itcast.cn)
User(id=9, userName=liubei, password=123456, name=刘备, age=30, email=liubei@itcast.cn)

都查询出了所有的数据


MyBatis-Plus(简称 MP )是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

在上面案例可以知道,MyBatis的dao接口继承BaseMapper接口就可以MyBatisPlus了,可以自定义方法,也可以使用

Mybatis-Plus 在 MyBatis 之上套了一层外衣,单表 CURD 的操作几乎都可以由 MyBatis-Plus 代替执行。而且提供了各种查询方式,分页行为。作为使用者无需编写 xml,直接调用 MyBatis-Plus 提供的 API 就可以了。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...