一篇文章带你学习Mybatis-Plus(新手入门)

一篇文章带你学习Mybatis-Plus(新手入门)攻略

1. 什么是Mybatis-Plus

Mybatis-Plus是Mybatis的增强工具,提供了很多实用的功能,比如单表的基本CURD操作、分页查询、条件构造器、代码生成器等等。

2. 如何使用Mybatis-Plus

2.1 引入Mybatis-Plus依赖

在pom.xml中引入以下依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.7.1</version>
</dependency>

2.2 配置Mybatis-Plus

在application.yml中进行Mybatis-Plus的配置,例如:

mybatis-plus:
  # mapper/xml映射文件地址
  mapper-locations: classpath:mapper/*.xml
  # 主键生成策略
  global-config:
    db-config:
      id-type: auto

2.3 编写实体类

Mybatis-Plus的实体类需要继承Model类或者实现Serializable接口,同时使用注解@TableField指定数据库列名和实体类属性名的映射关系,例如:

@Data
public class User extends Model<User> {

  @TableId(type = IdType.AUTO)
  private Long id;

  @TableField(value = "username")
  private String name;

  private Integer age;

  private String email;

}

2.4 编写Mapper接口和Mapper映射文件

Mybatis-Plus提供了BaseMapper接口,只需要继承它即可继承通用的CRUD操作,例如:

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

对应的Mapper映射文件可以使用Mybatis-Plus自动生成,也可以自己手写,例如:

<mapper namespace="com.example.demo.mapper.UserMapper">

  <resultMap id="BaseResultMap" type="com.example.demo.entity.User">
    <id column="id" property="id" />
    <result column="username" property="name" />
    <result column="age" property="age" />
    <result column="email" property="email" />
  </resultMap>

  <sql id="queryUser">
    select id, username, age, email from user
  </sql>

  <select id="selectById" resultMap="BaseResultMap">
    select * from user where id = #{id}
  </select>

  <select id="selectList" resultMap="BaseResultMap">
    <include refid="queryUser" />
    <where>
      <if test="name != null">
        and username like concat('%',#{name},'%')
      </if>
    </where>
  </select>

  <insert id="insert" parameterType="com.example.demo.entity.User">
    insert into user (username, age, email) 
    values (#{name}, #{age}, #{email})
  </insert>

  <update id="update" parameterType="com.example.demo.entity.User">
    update user set username = #{name}, age = #{age}, email = #{email}
    where id = #{id}
  </update>

  <delete id="deleteById" parameterType="java.lang.Long">
    delete from user where id = #{id}
  </delete>

</mapper>

2.5 编写Service/ServiceImpl

在Service层调用Mapper层的方法,构造查询条件并返回结果,例如:

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

  @Override
  public List<User> getUserList(String name) {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.like("username", name);
    return list(queryWrapper);
  }

}

3. Mybatis-Plus的使用示例

3.1 分页查询

Page<User> page = new Page<>(1, 10);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 18).orderByDesc("id");
IPage<User> userIPage = userMapper.selectPage(page, queryWrapper);

3.2 插入数据并返回主键ID

User user = new User();
user.setName("zhangsan");
user.setAge(18);
user.setEmail("zhangsan@qq.com");
userMapper.insert(user);
Long id = user.getId();

4. 总结

Mybatis-Plus是一个非常实用的Mybatis增强工具,可以大大提高开发效率。本文简单介绍了Mybatis-Plus的使用步骤和示例,但是Mybatis-Plus提供的功能远不止这些,可以结合官方文档进行深入学习。

阅读剩余 68%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一篇文章带你学习Mybatis-Plus(新手入门) - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • java实现简单的webservice方式

    Java实现简单的Web Service方式可以通过使用两种不同的编程方式来完成:JAX-WS和Apache CXF。下面我们分别介绍这两种方式。 JAX-WS方式实现Web Service JAX-WS是Java API for XML Web Services的缩写,是Java SE 6及以上提供的一种WebService编程API。下面是一个简单的JA…

    Java 2023年5月18日
    00
  • Struts2中图片以base64方式上传至数据库

    下面是“Struts2中图片以base64方式上传至数据库”的完整攻略及两个示例。 1.准备工作 在开始具体操作前,我们需要先进行一些准备工作: 引入Struts2、Hibernate以及相关依赖库 使用Hibernate框架进行数据库操作 配置Struts2的multipartInterceptor,以实现文件上传功能 编写数据库表及实体类,以后面进行存储…

    Java 2023年5月20日
    00
  • JS验证身份证有效性示例

    关于 JS 验证身份证有效性示例,我们可以采取以下步骤: 1. 获取身份证号码并进行格式验证 首先,我们需要获取用户输入的身份证号码,然后判断其长度是否为 18 位,并且最后一位是否为数字或字母 X(表示校验位)。具体实现代码如下: const idCard = document.getElementById(‘idCard’).value // 长度验证 …

    Java 2023年6月15日
    00
  • 解决Spring Security中AuthenticationEntryPoint不生效相关问题

    解决Spring Security中AuthenticationEntryPoint不生效相关问题,主要有以下几个步骤: 确认AuthenticationEntryPoint是否配置正确 在Spring Security配置文件中,需要配置AuthenticationEntryPoint,用来处理认证失败后的跳转或返回错误信息。一些常见的Authentica…

    Java 2023年5月20日
    00
  • SpringBoot+Mybatis实现登录注册的示例代码

    以下是详细的攻略: Step 1:环境搭建 首先需要安装JDK、Maven以及Spring Boot Step 2:新建Spring Boot项目 新建一个Spring Boot项目,选择Maven项目类型。在pom.xml文件中添加Mybatis和MySQL驱动的依赖即可。 Step 3:配置数据库 在application.properties文件中配置…

    Java 2023年5月20日
    00
  • Spring Boot整合web层实现过程详解

    下面给出详细的“SpringBoot整合web层实现过程详解”: 1. 引入依赖 SpringBoot已经内置了常用的Web框架,如SpringMVC、Spring WebFlux等。因此,我们只需要在pom.xml中引入SpringBoot Web依赖即可。 <dependencies> <!–Web相关依赖–> <dep…

    Java 2023年5月15日
    00
  • java实现归并排序算法

    下面是详细讲解 “Java实现归并排序算法” 的完整攻略。 归并排序算法简介 归并排序是一种分治算法,先将待排序的序列拆分成若干个子序列,然后将每个子序列分别排序,最后将已经排序好的子序列合并成完整的排序结果。 归并排序的时间复杂度为O(nlogn),也是一种稳定排序算法。 Java实现归并排序 算法思路: 归并排序算法的主要思路为:将待排序序列细分到每个元…

    Java 2023年5月19日
    00
  • Struts2中实现web应用的初始化实例详解

    Struts2中实现web应用的初始化实例详解 Struts2是一个非常流行的Java Web框架,它提供了丰富的功能和易于扩展的机制,可以帮助开发者快速构建高质量的Web应用程序。在Struts2中,初始化Web应用程序是非常重要的一步,因为它与整个Web应用程序的运行有关。本文将详细介绍如何在Struts2中实现Web应用程序的初始化。 什么是Web应用…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部