为了账号安全,请及时绑定邮箱和手机立即绑定

MyBatis-Plus入门

难度高级
时长 4小时 0分
学习人数
综合评分9.57
101人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.6 逻辑清晰
  • 如图所示的内容笔记

    查看全部
  • 如图所示的内容笔记

    查看全部
  • 如图所示的内容笔记

    查看全部
  • 如图所示的内容笔记

    查看全部
  • 如图所示的内容笔记

    查看全部
  • 开发环境:

    http://img1.sycdn.imooc.com//5f85c0f30001c3cd05240491.jpg

    查看全部
  • JPA:java持久层API,可以理解为一种规范,Hibernate就是其具体一个实现。(目前比较常用的是SpringDataJpa,它是Spring提供的一套简化开发的框架,按照约定好的方法命名规则,编写dao层接口,就可以在不编写实现情况下执行数据库操作,还提供了除CRUD以外的功能,例如分页、排序、复杂查询等等,SpringDataJpa可以理解为对JPA的再次封装,底层仍旧是Hibernate)

    Mybatis优势

    1、SQL语句可以自由控制,更灵活、性能较高。

    2、SQL与代码分离,易于阅读和维护。

    3、提供XML标签,支持编写动态SQL语句。

    JPA优势

    JPA移植性比较好(Hibernate方言)

    提供了很多CRUD方法、开发效率高(不用编写sql语句)

    对象化程度更高(面向对象开发思想)

    Mybatis劣势

    简单CRUD操作需要编写SQL语句(单表仍需要编写Mapper接口方法和xml的sql)

    XML中有大量sql需维护

    mybatis自身功能有限

    查看全部
  • Mybatis-plus简介:Mybatis增强工具,只做增强,不作改变,简化开发,提高效率。

    官网地址https://mybatis.plus/

    1、Crab:Mybatisplus3.0教学版。(MP核心程序员作品)

    2、Crab:WEB极速开发框架。(MP项目负责人作品)

    github项目地址:https://github.com/baomidou/mybatis-plus

    码云项目地址:https://gitee.com/baomidou/mybatis-plus

    Mybatis-plus特点:

    1、无侵入(只做增强,不作改变)、损耗小(程序启动时,进行注入增强的功能)、强大的CRUD操作(通用Service、通用Mapper,通过少量配置可实现单表操作,类似Hibernate)、支持条件构造器,支持各类需求。

    2、支持Lambda形式调用、提供了Lambda条件构造器,支持多种数据库(主流的Mysql、Oracle等)

    3、支持主键生成策略、支持ActiveRecord模式(实体类只需要继承Model,然后通过实体类完成CRUD操作)。

    4、支持全局自定义操作(支持全局通用方法注入)、支持关键词自动 转义(数据库关键词自动转义)

    5、内置代码生成器(实体、Mapper接口、Mapper文件、Service、Controller)、内置分页插件(基于Mybatis的物理分页)、内置性能分析插件

    6、内置全局拦截插件(提供了delete、update智能分析阻断,也可以自定义拦截规则,以防误操作)、内置sql注入剥离器(有效防止注入攻击)

    http://img2.sycdn.imooc.com/5f85abc2000101cb09590577.jpg

    http://img4.sycdn.imooc.com/5f85ac1b0001d5a709760553.jpg

    查看全部
    0 采集 收起 来源:MP简介

    2020-10-13

  • selectMaps

    查看全部
  • 1、用transient给属性做声明,该方式无序列化

    eg:private transient int flag;

    2、用static给属性做声明,默认不给静态变量生成get/set方法,所以这时需要手动写get/set方法,全类唯一一个的属性。

    3、@TableField(exist=false)

    给属性添加该注解,表示该字段在数据库中不存在。默认exist=true。

    该种方式可以生成get/set方法,也不是唯一的属性。

    查看全部
  • 1、@TableName("表全名")

    指定实体类对应的表名

    2、@TableId

    mp会按照雪花自增填充主键,默认实体类的主键为"id",当没有id时,它就不知道谁是主键,这时可以添加该注解

    3、@TableField("字段名")

    当实体类中的属性名和字段名对不上时,用该注解指定数据库中的字段名

    查看全部
    0 采集 收起 来源:常用注解

    2020-09-29

  • 一、建库建表

    #创建数据库

    create table user (  id BIGINT(20) PRIMARY key not null comment '主键', name varchar(30) default null comment '姓名',age int(11) default null comment '年龄', email varchar(50) default null comment '邮箱',   manager_id BIGINT(20) default null comment '直属上级id',   create_time DATETIME default null comment '创建时间'CONSTRAINT manager_fk foreign key (manager_id)          REFERENCES user (id)) ENGINE=INNODB CHARSET=UTF8; #数据初始化INSERT INTO user (id,name,age,email,manager_id,create_time)VALUES (1087982257332887553, '大boss', 40, 'boss@baomidou.com'NULL'2019-01-11 14:20:20'),            (1088248166370832385,'王天风',25,'wtf@baomidou.com', 1087982257332887553,'2019-02-05 11:12:22'),            (1088250446457389058,'李艺伟',28,'lyw@baomidou.com', 1088248166370832385,'2019-02-14 08:31:16'),            (1094590409767661570,'张雨琪',31,'zyq@baomidou.com', 1088248166370832385,'2019-01-14 09:15:15'),            (1094592041087729666,'刘红雨',32,'lhm@baomidou.com', 1088248166370832385,'2019-01-14 09:48:16');

    二、引入依赖

    1、建立maven项目(勾上create a simple project )

    2、在pom中引入依赖

    <parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>2.1.3.RELEASE</version></parent><dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-test</artifactId>        <scope>test</scope>    </dependency>    <!-- Lombok -->    <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 JDBC 不用指定version,依赖的spring jdbc已指定 -->    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>    </dependency></dependencies>

    项目上有报错:项目右键--maven--update project即可

    三、配置

     resource包下创建file(名字为application.yml)

    spring:  datasource:   driver-class-name:com.mysql.cj.jdbc.Driver   url:jdbc:mysql://localhost:3306/mp?useSSL=false&serverTimezone=GMT%2B8   username:root   password:root

    四、编码

    1、建启动类

    java包下创建com.mp包-->mp包下创建Java类(加上main方法)

    2、加注解

    类上:@SpringBootApplication意思为spring boot的启动类

    3、main方法中编写

    SpringApplication.run(启动类.class,args);

    4、创建实体类

    在mp包下建立entity包-->创建User的Java类

    依次编写数据库中的字段-->在类上添加@Data注解,就可自动生成get()、set()方法

    5、com.mp.dao-->UserMapper.java

    该mapper类要继承MP的BaseMapper类,<User>泛型。

    在启动类上添加@MapperScan("com.mp.dao"),指定需要扫描的Mapper包

    五、测试

    test-->com.mp-->SimpleTest.java

    该类添加@SpringBootTest注解和@RunWith(SpringRunner.class)

    添加@Aotuwired注解,注入userMapper类

    写一个select()方法,添加@Test注解:

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

    list.forEach(System.out::println);//迭代输出

    查看全部
  • 1、在maven官网下载lombox.jar-->project lombox.jar

    2、安装路径选择到eclipse.exe/myeclipse.exe

    3、装完后,在eclipse/myeclipse文件根目录中生成lombox.jar文件,同时在eclipse/license.txt(myeclipse/myeclipse.ini)文件中会生成lombox.jar的路径(如果存放路径带有中文,则需要修改路径和lombox文件的位置)

    查看全部
  • transient, static, @TableField(exist = false)

    查看全部
  • 默认情况下实体名和表名一致,如果不一致可以在实体类中使用注解指定表名

    默认情况下主键使用id标识,如果不一致可以在实体类中使用注解指定

    查看全部
    0 采集 收起 来源:常用注解

    2020-07-21

举报

0/150
提交
取消
课程须知
1、有Java开发基础,了解Lambda表达式; 2、至少会使用一种关系型数据库; 3、熟悉Maven; 4、熟悉SpringBoot; 5、最好熟悉MyBatis。
老师告诉你能学到什么?
1、了解MP的基本原理及框架特点; 2、掌握MP通用Mapper的使用; 3、掌握MP常用注解的使用; 4、掌握ActiveRecord模式的使用; 5、掌握MP多种主键策略的使用; 6、掌握MP常用配置的使用; 7、掌握MP通用Service的使用; 8、掌握MP在某些应用场景下的具体使用方式。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!