MyBatis-Plus笔记

本文详细介绍使用MyBatis Plus进行数据库操作的方法,包括库表创建、依赖引入、Mapper文件编写、常见功能如查询、条件构造及注解使用,帮助读者快速掌握MyBatis Plus的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.建立库表
库:mp
表:user

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `email` varchar(50) DEFAULT NULL,
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

随便插入一些数据

二.引入依赖

<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.0</modelVersion>
	<groupId>com.tiglle</groupId>
	<artifactId>mybatis-plus</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.3.RELEASE</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<!-- springboot依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>
		<!-- lombok简化java代码 -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<!-- mybatis plus -->
		<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.0</version>
        </dependency>
        <!-- mysql -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
	</dependencies>

</project>

三.mapper文件:

//BaseMapper<User> mybatis-plus的基础mapper
public interface UserMapper extends BaseMapper<User>{

}

四.mybatis plus功能
1.查询所有

List<User> users = userMapper.selectList(null);

2.根据id查询

userMapper.selectById(id);//id可以为Long,String,Integer类型等
userMapper.selectBatchIds(ids);//id可以为Long,String,Integer类型等(集合类型)

3.条件查询

userMapper.selectByMap(Map<表字段, 表字段值>)

4.条件构造器查询

		//两种方法都可以实例化QueryWrapper
		QueryWrapper<User> qw = new QueryWrapper<User>();
//		QueryWrapper<User> qw1 = Wrappers.<User>query();
		qw.like("表字段", "字段值").orderByDesc("表字段");
		
		//in子查询,id in (select id from user where age=20 查询出来的值)
		qw.inSql("id", "select id from user where age=20");

		//apply拼接sql查询
		qw.apply("id={0} and name={1}",20,"小明");
		//有sql注入风险,如
		String name = "前端传入的值"
		qw.apply("id="+name+" and name={1}",20,"小明")
		
		userMapper.selectList(qw);

五.常用注解

@TableName("mp_user")//实体名可以和表名不一致
public class User {}
public class User {
	private long id;
	@TableId//mybatis-plus默认查找id为主键,这里指定user_id为主键
	private long userId;
 @TableField("real_name")//字段名可以和列名不一致
 private String name;

六:排除非表字段的三种方式(实体类拥有的自断并不想与表中的自断关联)

1.加 static关键字
2.加上 transient 关键字
2.加上注解:TableField(exist=false) exist:是否要在表中存在,默认为true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值