mybatis_plus

1.概念

	https://baomidou.com/guide/
	简化开发、提高效率而生
	生成controller,service,dao,entity

2.搭建mp的开发环境(重点)

	a.尽量清理一下自己的电脑
	b.创建一个空的文件夹
		尽量不要有中文和空格
	c.拷贝maven仓库和插件
	d.创建一个项目
		spring initlizer
		修改maven为自己的仓库
	e.如果你的项目当中报波浪线
		意味着你仓库里面相应的jar包没有下载下来
		在仓库里面搜索以last结尾的文件 删除 重新rebuild项目

3.mp的使用(会写)

1.项目进行配置

	a.添加依赖
mybatis-plus依赖
	<!--mybatis-plus-->
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-boot-starter</artifactId>
		<version>3.0.5</version>
	</dependency>

	<!--mysql-->
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
	</dependency>

	<!--lombok用来简化实体类-->
	<dependency>
		<groupId>org.projectlombok</groupId>
		<artifactId>lombok</artifactId>
	</dependency>
	b.修改配置文件
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
spring.datasource.username=root
spring.datasource.password=123456
	c.创建一个数据库
		182.92.234.71
		root 123
	d.编写一个实体映射类
package com.atguigu.entity;

import lombok.*;

@Data
@ToString
//全参构造函数
@AllArgsConstructor
//无参构造函数
@NoArgsConstructor
@EqualsAndHashCode
public class User {
   
    private Long id;
    private String name;
    private int age;
    private String email;
}
	e.编写一个mapper接口
package com.atguigu.mapper;

import com.atguigu.entity.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

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

2.查询所有的用户信息(出现的问题)

	a.The server time zone value '����˹ TZ 7 ��׼ʱ��' is unrecognized 
		在url上添加 serverTimezone=GMT%2b8
	b.No qualifying bean of type 'com.atguigu.mapper.UserMapper' available
		在主类添加 @MapperScan("com.atguigu.mapper")
	c.Loading class `com.mysql.jdbc.Driver'. This is deprecated
		在配置文件修改 com.mysql.cj.jdbc.Driver

3.springboot版本的区别

	a.1.5.x版本与2.x的区别
		springboot1.5.x采用spring4
		springboot2.x采用spring5.x(大量采用注解)
	b.2.0.x版本与2.1.x的区别
		最大区别就是时区
	c.公司里面用什么版本
		公司使用什么版本 你就使用什么版本

4.添加一个用户

	a.id是自动生成的
	b.id不能是基本数据类型 必须是对象类型
	c.如果要打印SQL日志文件 需要在配置类添加
		mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

5.集群与分布式的区别

	集群:	相同的代码/服务 部署在不同的机器上
	分布式: 不同的代码/服务 部署在不同的机器上

4.分布式系统唯一ID生成方案汇总

https://www.cnblogs.com/haoxinyue/p/5208136.html

1.数据库自增长序列或字段
	不可以 因为在分布式环境下会出现id重复的问题
2.UUID
	88af3d57-6e4b-49a1-ae59-fee010811d80
	可以实现 字符串太长 消耗空间 传输效率受到影响
3.Redis生成ID
	利用incr incrby +步长(集群环境下机器的个数)
	可以实现 额外增加一个组件
4.Twitter的snowflake算法
	mp默认采用生成id策略就是它
5.利用zookeeper生成唯一ID
	可以,分布式锁
6.mycat实现id的唯一性

5.mp主键策略

1.把Long类型转换为String
	    IllegalArgumentException: argument type mismatch
	
		@TableId(type = IdType.ID_WORKER_STR) 匹配String类型
		private String id;
		
		@TableId(type = IdType.ID_WORKER)     匹配Long类型
		private Long id;
2、AUTO 自增策略

(1)需要在创建数据表的时候设置主键自增
(2)实体字段中配置 @TableId(type = IdType.AUTO)

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

要想影响所有实体的配置,可以设置全局主键配置

#全局设置主键生成策略
mybatis-plus.global-config.db-config.id-type=auto

6.mp的其他操作

1.自动填充

	a.在User表中添加datetime类型的新的字段
	b.在实体映射类添加对应字段 添加注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值