Java中MyBatis Plus知识点总结

好程序员Java教程分享MyBatis Plus介绍:

1.MyBatis Plus 介绍

MyBatis Plus 是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 

MyBatis Plus 的核心功能有:支持通用的 CRUD、代码生成器与条件构造器。

通用 CRUD:定义好 Mapper 接口后,只需要继承 BaseMapper<T> 接口即可获得通用的增删改查功能,无需编写任何接口方法与配置文件

条件构造器:通过 EntityWrapper<T> (实体包装类),可以用于拼接 SQL 语句,并且支持排序、分组查询等复杂的 SQL

2.添加依赖

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus</artifactId>

<version>2.3</version>

</dependency>

3.配置

<!-- MP 提供的 MybatisSqlSessionFactoryBean -->

 <bean id="sqlSessionFactoryBean"

   class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">

   <!-- 数据源 -->

   <property name="dataSource" ref="dataSource"/>

   <!-- 别名处理 -->

   <property name="typeAliasesPackage" value="com.qf.entity"/>

   <!-- 插件注册 -->

   <property name="plugins">

     <list>
<!-- 注册分页插件 -->

       <bean class="com.baomidou.mybatisplus.plugins.PaginationInterceptor" />

     </list>

   </property>

 </bean>

4.Dao层

public interface IUserDao extends BaseMapper<User> {

}

5.实体类

@Data

@TableName(value="t_user")

public class User{

 @TableId(value="id",type=IdType.AUTO)

 private Integer id;

 @TableField(value="username")

 private String name;

 private Integer age;

 private String password;

 @TableField(exist=false)

 private Integer xxx;
}

6.常见注解

@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。

@TableField(exist = true):表示该属性为数据库表字段。

@TableName:数据库表相关

@TableId:表主键标识

@TableField:表字段标识

7.测试方法

@Test

 public void testMybatisPlus(){

   System.out.println("selectById:"+userDao.selectById(4)); // 根据Id查询

   System.out.println("selectList:"+userDao.selectList(null)); // 查询全部

   com.baomidou.mybatisplus.plugins.Page<User> page = new com.baomidou.mybatisplus.plugins.Page<>();

   List<User> list = userDao.selectPage(page, null); // 分页查询

   page.setRecords(list); // 把结果封装到分页对象中

   System.out.println(page.getCurrent());

   System.out.println(page.getPages());

   System.out.println(page.getSize());

   System.out.println(page.getTotal());

   System.out.println(page.getRecords());

   EntityWrapper<User> entityWrapper = new EntityWrapper<>();

   entityWrapper.eq("id", 4);

   entityWrapper.or().like("username", "3");

   List<User> selectList = userDao.selectList(entityWrapper); // 条件查询

   System.out.println("wrapper:"+selectList);

 }

以上就是本次介绍的全部相关知识点,感谢大家的学习和对我们的支持。

(0)

相关推荐

  • Java使用MyBatis框架分页的5种方式

    本文为大家分享了Java使用MyBatis框架分页的五种方式,供大家参考,具体内容如下 初始准备 1.创建分页对象类,方便模块间传值 //PageInfo.java import lombok.Data; @Data public class PageInfo { private int pageNo; private int pageSize; } 2.定义DAO层接口 import org.apache.ibatis.session.RowBounds; import org.springf

  • Java如何利用Mybatis进行数据权限控制详解

    前言 权限控制主要分为两块,认证(Authentication)与授权(Authorization).认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Based Access Control).RBAC包含为下面四个要素:用户.角色.权限.资源.用户是源头,资源是目标,用户绑定至角色,资源与权限关联,最终将角色与权限关联,就形成了比较完整灵活的权限控制模型. 资源是最终需要控制的标的物,但是我们在一个业务系统中要将哪些元素作为待控制的资源呢?我将系统中

  • Java 8 开发的 Mybatis 注解代码生成工具

    MybatisAnnotationTools MybatisAnnotationTools 是基于 Java8 开发的一款可以用于自动化生成 MyBatis 注解类的工具,支持配置数据源.类路径,表名去前缀.指定类名前后缀等功能.同时支持 Java 8 和 Mybatis 3.5+ 的一些新特性,比如时间类 LocalDateTime/LocalDate .接口方法返回 Optional 等. 此工具生成的代码是基于注解的 Mybatis 接口方法,所以不会生成 XML 配置文件. 源码地址:G

  • Java Web学习教程之Hibernate And MyBatis的理解

    前言 在JavaWeb开发中,最经典的就是SSH框架组合和SSM框架组合,现在很多IT公司愿意使用SSM,对于这里的H和M即Hibernate和MyBatis,今天简单来说道说道. 班门弄斧 上课时,我经常跟学生说,学习任何一门技术,一定要弄明白: What:这个东西是什么?连这个技术是什么都说不清,人家会相信你精通吗? Why:为什么要用?不要盲目学,一门技术的产生肯定有其背后的原因,解决了一个什么难题?还是简化了开发等等? When:什么时候需要用?学完了不会灵活运用也不行. How:怎么用

  • Java框架搭建之Maven、Mybatis、Spring MVC整合搭建(图文)

    本文主要介绍了Java框架搭建之Maven.Mybatis.Spring MVC整合搭建(图文),分享给大家,具体如下: SSM(Spring+SpringMVC+Mybatis),目前较为主流的企业级架构方案.标准的MVC设计模式,将整个系统划分为显示层.Controller层.Service层.Dao层四层,使用SpringMVC负责请求的转发和视图管理,Spring实现业务对象管理, MyBatis作为数据对象持久化引擎. 框架详情 Spring 是一个轻量级的Java开发框架,它是为了解

  • Java中MyBatis Plus知识点总结

    好程序员Java教程分享MyBatis Plus介绍: 1.MyBatis Plus 介绍 MyBatis Plus 是国内人员开发的 MyBatis 增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. MyBatis Plus 的核心功能有:支持通用的 CRUD.代码生成器与条件构造器. 通用 CRUD:定义好 Mapper 接口后,只需要继承 BaseMapper<T> 接口即可获得通用的增删改查功能,无需编写任何接口方法与配置文件 条件构造器:通过 Ent

  • java中mybatis和hibernate的用法总结

    在项目开发上,hibernate提供的经验简化了不少工作量和兼容性,但这些绝对需要有经验后才能明白,对于新手来说使用起来很困难.hibernate比mybatis掌握难度要高一些,对sql的控制弱一些.下面我们就三个方面带来mybatis和hibernate的总结分析,一起来看看二者的比较吧. 1.开发效率 如果是做一些简单的CMS类似的只有简单的增删改查的项目,那么使用Hibernate更有优势,不需要掌握太多的Hibernate知识,只需要会一些基本的查询和一些配置(Hibernate真正要

  • java 中MyBatis注解映射的实例详解

    java  中MyBatis注解映射的实例详解 1.普通映射 @Select("select * from mybatis_Student where id=#{id}") public Student getStudent(int id); @Insert("insert into mybatis_Student (name, age, remark, pic,grade_id,address_id) values (#{name},#{age},#{remark}, #{

  • Java中mybatis关于example类的使用详解

    这几天刚接触example,很多内容都是破碎的,写一篇博文加深理解. 一.什么是example类 mybatis-generator会为每个字段产生如上的Criterion,如果表的字段比较多,产生的Example类会十分庞大.理论上通过example类可以构造你想到的任何筛选条件.在mybatis-generator中加以配置,配置数据表的生成操作就可以自动生成example了.具体配置可以参考MBG有关配置.      下面是mybatis自动生成example的使用. 二.了解exampl

  • java中Hibernate面试知识点整理

    作为常用的框架之一,Hibernate在面试的时候难免会被问到.好在涉及的都是一些理论方面的知识点,比如概念.原理.使用之类的.我们在面试之前可以针对这方面的题目,做一个充足的准备,即使有些人对hibernate框架的了解并不深入.下面我们就hibernate框架中常见的面试题带来介绍. 1. 为什么要使用 hibernate? (1).对JDBC做了轻量级的封装,简化了数据访问层编码. (2).Hibernate是一个ORM框架,开发者可以使用面向对象的思想操作数据库,使用更加方便. (3)

  • java  中MyBatis注解映射的实例详解

    java  中MyBatis注解映射的实例详解 1.普通映射 @Select("select * from mybatis_Student where id=#{id}") public Student getStudent(int id); @Insert("insert into mybatis_Student (name, age, remark, pic,grade_id,address_id) values (#{name},#{age},#{remark}, #{

  • Java中mybatis的三种分页方式

    目录 前言 一.Limit分页 二.RowBounds分页(不推荐使用) 三.Mybatis_PageHelper分页插件 前言 分页是我们在开发中绕不过去的一个坎!当你的数据量大了的时候,一次性将所有数据查出来不现实,所以我们一般都是分页查询的,减轻服务端的压力,提升了速度和效率!也减轻了前端渲染的压力! 注意:由于 java 允许的最大整数为 2147483647,所以 limit 能使用的最大整数也是 2147483647,一次性取出大量数据可能引起内存溢出,所以在大数据查询场合慎重使用!

  • Java中面向对象的知识点总结

    一.对象和类的概念 类:对具有相同属性和方法的一类事物的抽象. 对象:具体的某一事物,代表自身的一些属性和方法. 二.类(对象)之间的关系 关联(组合.聚合),继承,依赖.实现 三.面向对象设计思想 面向对象--->考虑哪些类,对象--->类和对象有属性.方法----->类和类之间的关系 四.重载.重写和隐藏 1). 重载(overload): 方法重载就是多个方法名称相同但是参数类型或者参数个数不同的方法,与返回值类型和修饰符无关 class Test { public int tes

  • Java中Mybatis,SpringMVC,Spring的介绍及联系

    目录 一.Mybatis 1.简介 2.工作原理: 3.工作流程图: 二.SpringMVC 1.MVC工作原理: 1.1.MVC工作原理图: 2.1.SpringMVC工作原理 2.2.SpringMVC中的组件: 2.3.SpringMvc工作原理图 2.4. SpringMvc工作流程 2.5. SpringMVC重点 三.Spring 1.简介: 2.Spring原理: 3.Spring AOP与IOC 3.1. IoC(Inversion of control): 控制反转 3.2.A

  • Java中的小知识点总结

    一.声明局部变量是的一些特性和规则(1)声明的局部变量是不会被默认初始化的,成员变量则是会被默认初始化的.例如: 复制代码 代码如下: class Demo {         public static void main(String[] args) {           String s;           System.out.println(s);     }} 上面的这段示例代码中,直接输出s是错误的,连编译都不同通过,因为在main方法中声明s,这时s是局部变量,不会被默认初始

随机推荐