当前位置: 首页 > wzjs >正文

哪里有建设网站正规的推文平台

哪里有建设网站,正规的推文平台,如何在网上接做网站的小项目,山东专业网站建设一、MybatisPlus是什么? MybatisPlus官网:https://baomidou.com/ 由官网定义可知: 1、MP不是为了取代Mybatis,是Mybatis的搭档,是协作完成需求; 2、MP是为了简化Mybatis的开发,提高效率。 无…

一、MybatisPlus是什么?

MybatisPlus官网:https://baomidou.com/

由官网定义可知:

1、MP不是为了取代Mybatis,是Mybatis的搭档,是协作完成需求;

2、MP是为了简化Mybatis的开发,提高效率。

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
  • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
  • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
  • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
  • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
  • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
  • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
  • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
  • 分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
  • 内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
  • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

二、快速入门

(一)创建一个SpringBoot项目MPDemo

(二)导入MP的起步依赖

注:引入MP的起步依赖,实则已经包含了Mybatis的起步依赖。

        <!-- 导入MybatisPlus的起步依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.10.1</version></dependency><!-- 导入lombook起步依赖--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version><scope>provided</scope></dependency><!-- 导入mysql的起步依赖--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency>

(三)创建测试数据库

数据库脚本如下:

# 创建数据库mpdemo
create database mpdemo;# 使用数据库mpdemo
use mpdemo;DROP TABLE IF EXISTS `user`;# 创建表user
CREATE TABLE `user`
(id BIGINT NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT NULL DEFAULT NULL COMMENT '年龄',email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (id)
);# 为user表插入数据
INSERT INTO `user` (id, name, age, email) VALUES(1, 'Jone', 18, 'test1@baomidou.com'),(2, 'Jack', 20, 'test2@baomidou.com'),(3, 'Tom', 28, 'test3@baomidou.com'),(4, 'Sandy', 21, 'test4@baomidou.com'),(5, 'Billie', 24, 'test5@baomidou.com');

(四)配置application.yml

数据库连接配置

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mpdemousername: rootpassword: root

(五)创建实体类User

@Data
@TableName("`user`")
public class User {private Long id;private String name;private Integer age;private String email;
}

(六)创建数据访问层UserMapper

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

(七)创建测试类SampleTest

@SpringBootTest
public class SampleTest {@Autowiredprivate UserMapper userMapper;@Testpublic void testSelect() {System.out.println(("----- selectAll method test ------"));List<User> userList = userMapper.selectList(null);Assert.isTrue(5 == userList.size(), "");userList.forEach(System.out::println);}}

(八)MP结果验证

三、MP常见注解

MP的原理:MP通过扫描实体类,并基于反射获取实体类信息作为数据库表信息。

(1)实体类名驼峰转下划线作为表名;

(2)名为id的字段作为主键;

(3)变量名驼峰转下划线作为表的字段名。

(一)@TableName注解

@TableName注解,用来指定表名。

(二)@TableId注解

@TableId注解,用来指定表中的主键字段信息。

@TableId(value = "id", type = ""),value为命名,type的类型有:

(1)IdType.AUTO:数据库自增长。

(2)IdType.INPUT:通过set方法自定输入。

(3)IdType.ASSIGN_ID:分配ID,接口IdentifierGenerator的方法nextId来生成id,默认实现类为DefaultIndentifierGenerator雪花算法。

(三)@TableFiled注解

@TableFiled注解,用来指定表中的普通字段信息。

常见的场景有:

(1)成员变量名与数据库字段名不一致;

(2)成员变量名以is开头,且是布尔值;

(3)成员变量名与数据库关键字冲突;

(4)成员变量不是数据库字段。

(四)示例

数据库表信息

实体类信息

/*** MP常用注解示例*/
@TableName("tb_user")
public class User {@TableId(value = "id", type = IdType.AUTO)private Long id;@TableField("username")private String name;@TableField("is_married")private Boolean isMarried;@TableField("'order'")private Integer order;@TableField(exist = false)private String address;}

(五)常见配置

MP的配置项继承了Mybatis原生配置,当然也有自身的新特性配置,例如:

# myabtis-plus信息配置
mybatis-plus:type-aliases-package: com.yassels.mpdemo.pojo # 别名扫描包mapper-locations: "classpath*:/mapper/**/*.xml" # Mapper.xml文件地址,默认值configuration:map-underscore-to-camel-case: true # 是否开启下划线和驼峰的映射cache-enabled: false # 是否开启二级缓存global-config:db-config:id-type: assign_id # id为雪花算法生成update-strategy: not_null # 更新策略,值更新非空字段

四、MP使用的基本流程

(1)导入MP的地步依赖;

(2)Mapper继承BaseMapper<User>;

(3)通过注解处理实体类与数据库表信息保持一致;

(4)Application.yml配置MP信息。

五、核心功能

(一)条件构造器

MP支持各种复杂的where条件:

 条件构造器的用法: 

(1)QueryWrapper和LambdaQueryWrapper通常用来构建select、delete、update的where条件部分;

(2)UpdateWrapper和LambdaUpdateWrapper通常只有在set语句比较特殊时才使用;

(3)尽量使用LambdaUpdateWrapper和LambdaQueryWrapper,避免硬编码。

(二)自定义SQL

利用MP的Wrapper来构建复杂的Where条件,然后自己定义SQL语句中剩下的部分。

(三)Service接口

http://www.dtcms.com/wzjs/327380.html

相关文章:

  • 商务推广网站新东方考研培训机构官网
  • 网站开发与应用就业方向宁波seo教学
  • 西安有做网站的吗公司网站设计报价
  • 怎么看公司网站建设的时间深圳网站设计小程序
  • 微信如何创建自己的小程序网络优化工程师工作内容
  • 北京微网站开发seo招聘信息
  • 动完网站设计网站海底捞口碑营销案例
  • 展示型网站一样做seo优化吗免费下载b站视频软件
  • 福建省建设厅网站人员网络推广深圳有效渠道
  • 昆明网站建设哪家比较好品牌推广网络公司
  • 做网站委托书seo什么意思简单来说
  • 帝国cms怎样做网站迁移seo职业发展
  • 广州建设网站公司哪家好网页制作免费网站制作
  • 策划案怎么写河北seo公司
  • 网站焦点图多少钱管理人员课程培训
  • 做财经比较好的网站sem分析是什么意思
  • 厦门住房和城乡建设局网站seo优化工程师
  • 学做网站要懂英语吗百度关键词seo年度费用
  • java网站开发基于百度推广一个关键词多少钱
  • 久久建筑网站内搜索北京疫情消息1小时前
  • 哪个网站做美食视频北京百度推广电话
  • 网站建设报告怎么写seo网站运营
  • 金坛网站建设公司优化设计电子版
  • 网站开发背景图seo编辑是干什么的
  • 单页面 网站百度竞价渠道代理
  • 怎样做网站操作向导泰安优化关键词排名哪家合适
  • 重庆餐饮加盟网站建设百度网盘登录首页
  • 徐州营销网站建设怎么推广网址
  • 将html和wordpress分开怎么优化电脑系统
  • 免费域名做私服网站怎么收录网站