关键词:
好程序员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);
}
好程序员java教程分享javamain常见面试问题
好程序员Java教程分享Javamain常见面试问题,Java程序员在参加面试的时候,在Javamain方面都会被问到哪些问题呢?为大家准备一些常见的Javamain的基础知识问题,帮助大家在面试前做好准备: 1、不用main方法如何定义一个类?... 查看详情
好程序员java教程分享使用httpclient抓取页面内容
好程序员Java教程分享使用HttpClient抓取页面内容,使用HttpClient工具来发送Http请求1.简介HttpClient是ApacheJakartaCommon下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版... 查看详情
好程序员java教程分享java之包装类与常用类
好程序员Java教程分享Java之包装类与常用类,首先来讲一下包装类基本数据类型(值类型):byte,short,int,long,float,double,char,boolean包装类:将基本数据类型,用一个类进行了一层包装,可以按照引用类型进行使用。同时还提供了若... 查看详情
好程序员java教程分享java之设计模式
好程序员Java实用教程之设计模式,首先来讲一下单例设计模式单例设计模式/**设计模式:前人总结出来的对一些常见问题的解决方案,后人直接拿来使用.*常用的设计模式:单例,工厂,代理,适配器,装饰,模板,观察者等,一共有23种*单... 查看详情
好程序员java教程分享java中string类型的10个问题
好程序员Java教程分享Java中String类型的10个问题如何比较两个字符串?用“=”还是equals简单来说,“==”是用来检测俩引用是不是指向内存中的同一个对象,而equals()方法则检测的是两个对象的值是否相等。只要你想检测俩字符串... 查看详情
好程序员java教程系列之异常定义
好程序员Java教程分享Java系列之异常定义异常定义异常:就是程序在运行的过程中遇到的种种不正常的情况。特点:如果一个程序在运行中遇到了一个未经处理的异常,则这个异常会终止程序的运行。?但是如果程序出现的异常被... 查看详情
好程序员java学习路线分享5分钟了解基数排序
好程序员Java学习路线分享5分钟了解基数排序,前言:基数排序无需进行比较和交换,而是利用分配和收集两种基本操作实现排序。基数排序分为两种:第一种是LSD,从最低位开始排序;第二种是MSD,从最高位开始排序。基数排... 查看详情
好程序员web前端教程分享javascript简写方法
今天好程序员web前端教程为大家分享JavaScript简写方法,小伙伴们快来看一看吧。1.三元操作符当想写if...else语句时,使用三元操作符来代替。constx=20;letanswer;if(x>10){answer=‘isgreater‘;}else{answer=‘islesser‘;}简写:constanswer=x>10?... 查看详情
好程序员web前端教程分享前端javascript练习题
好程序员web前端教程分享前端javascript练习题,事件委托机制----------重要 eg:点击按钮往ul中添加li,使添加的li也有相同的事件varobtn=document.getElementById("btn");varolist=document.getElementById("list");//获取ulvaroli=olist.chi 查看详情
好程序员web前端教程分享前端javascript练习题之promise
好程序员web前端教程分享前端javascript练习题之promisepromise-ajax的封装functionajax(url){//创建promise对象varpromise=newPromise(function(resolve,reject){//创建ajax对象if(window.XMLHttpRequest){varxhr=newXMLHttpRequest();}else{va 查看详情
好程序员web前端教程分享前端javascript练习题三
好程序员web前端教程分享前端javascript练习题三,cookie一周内免登录样式代码:<formaction="">姓名:<inputtype="text"id="usename"/><br/>密码:<inputtype="text"i="mima" 查看详情
好程序员web前端教程分享前端javascript练习题ajax封装
好程序员web前端教程分享前端javascript练习题Ajax封装ajax的基本封装----必须掌握functionajax(url,fn){if(window.XMLHttpRequest){varxhr=newXMLHttpRequest();}else{varxhr=newActiveXObject("Microsoft.XMLHTTP");}xhr.open("get 查看详情
好程序员web前端教程分享前端javascript练习题之闭包案例
好程序员web前端教程分享前端javascript练习题之闭包案例,编写一个求和函数sum,使输入sum(2)(3)或输入sum(2,3),输出结果相同可以传入多个参数functionsum(){varnum=arguments[0];if(arguments.length==1){returnfunction(sec){returnnum+sec;}}else{varnum=0;for(va... 查看详情
阿里一手爆出:springboot整合mybatisplus(超详细)完整教程
...UserController.java中新增接口:postman测试:没问题。上面是mybatisplus测试成功,下面我们继续测试我们自己写的sql是否成功。在resources目录下新建mapper文件夹,新建UserMapper.xml文件:UserMapper.javaIUserService:UseServiceImpl.java:UserController.jav... 查看详情
好资源分享
JavaJavaGuide:【Java学习+面试指南】一份涵盖大部分Java程序员所需要掌握的核心知识。CS-Notes:技术面试必备基础知识、Leetcode题解、后端面试、Java面试、春招、秋招、操作系统、计算机网络、系统设计。advanced-java:互联网Jav... 查看详情
好程序员java分享jvm结构
好程序员Java分享JVM结构,jvm的基本结构,也就是我们俗称概述。内容很多,而且概念量也很大,关于概念方面,让概念在你的脑子里变成图形,所以只要你有耐心、仔细,发挥自己的想象力,会让你充满信心。当然,不是... 查看详情
好程序员java分享sql语言之索引
好程序员Java分享SQL语言之索引,前言:本章我们将学习MySQL中的索引,本文将从索引的作用、索引的分类、创建索引的语法、索引的使用策略以及索引的实现原理等方面带大家了解索引。索引的作用索引的作用就是加快查询速度... 查看详情
好程序员web前端分享html基础篇
好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基础学习目标1、本专业... 查看详情