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

php完整网站开发源码免费的国际网站建设

php完整网站开发源码,免费的国际网站建设,网站图标怎么下载,网站备案程序介绍 MyBatis-Plus是MyBatis的好朋友, 与MyBatis配合, 实现开发效率的提高 官网: 特点: 润物细无声: 只做增强不做改变, 引入它不会对现有工程产生影响, 如丝般顺滑效率自上: 只需简单配置, 即可快速进行单表CRUD, 从而节省大量时间功能丰富: 代码生产, 自动分页, 逻辑删除, …

介绍

MyBatis-Plus是MyBatis的好朋友, 与MyBatis配合, 实现开发效率的提高

官网:

特点:

  1. 润物细无声: 只做增强不做改变, 引入它不会对现有工程产生影响, 如丝般顺滑
  2. 效率自上: 只需简单配置, 即可快速进行单表CRUD, 从而节省大量时间
  3. 功能丰富: 代码生产, 自动分页, 逻辑删除, 自动填充等功能一应俱全

单表CRUD

需求: 基于资料中的项目, 实现以下功能

  1. 新增用户
  2. 根据id查询用户
  3. 根据id更新用户
  4. 根据id批量查询用户
  5. 根据id删除用户

准备工作

  1. 打开工程: mp-demo
  2. 修改配置: 修改数据库的连接信息
  3. 建库建表: 执行资料中的sql

使用MP的步骤

  1. 引入依赖
   <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency>
  • MyBatisPlus官方提供了starter, 其中集成了MyBatis和MyBatisPlus的所有功能, 并且实现了自动装配效果
  • 因此, 我们可以用MyBatisPlus的starter代替Mybatis的的starter

  1. 继承接口
public interface UserMapper extends BaseMapper<User> {
}
  • 自定义的Mapper继承MyBatisPlus提供的BaseMapper接口
  • 自定义的Mapper中看似什么代码都没有, 但是已经继承了强大的CRUD方法
  • 注意要把数据表对应的实体类作为泛型传递给BaseMapper接口, 这样MP才知道CRUD要操作哪个实体

  1. 直接调用继承的增删改查的方法

@SpringBootTest
class UserMapperTest {@Autowiredprivate UserMapper userMapper;@Testvoid testInsert() {User user = new User();user.setId(5L);user.setUsername("Lucy");user.setPassword("123");user.setPhone("18688990011");user.setBalance(200);user.setInfo("{\"age\": 24, \"intro\": \"英文老师\", \"gender\": \"female\"}");user.setCreateTime(LocalDateTime.now());user.setUpdateTime(LocalDateTime.now());userMapper.insert(user);}@Testvoid testSelectById() {User user = userMapper.selectById(5L);System.out.println("user = " + user);}@Testvoid testQueryByIds() {List<User> users = userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L));users.forEach(System.out::println);}@Testvoid testUpdateById() {User user = new User();user.setId(5L);user.setBalance(20000);userMapper.updateById(user);}@Testvoid testDeleteUser() {userMapper.deleteById(5L);}}

原理

MyBatis-Plus是通过扫描实体类, 并基于反射获取实体类信息作为数据库表信息, 生成CRUD方法

符合以下约定, MyBatisPlus就可以正确的获取到数据库表的信息, 然后进行增删改查操作

  1. 类名驼峰转下划线作为表名, 例如 类名 tbUser -> 表名 tb_user
  2. 名为id的字段作为主键, 如果没有id字段运行会报错
  3. 变量名驼峰转下划线作为表的字段名

常用注解

大多数情况下, 数据表的设计和实体类是符合MyBatisPlus开发约定的, 特殊情况下需要通过注解解决特定问题

指定表名: 数据表与实体类的名称不一致时, 通过@TableName注解, 指定表名

@Data
@TableName(value = "tb_user")
public class User {... ...
}

指定主键: 数据表中主键名不是id时, MP运行就会报错, 需要通过@TableId注解, 指定表中的主键字段

@Data
public class User {/*** 用户id*/@TableId(value="id", type=IdType.AUTO)private Long idNumber;}
  1. 参数说明:
  • value用来指定主键字段名
  • type用来指定主键类型
  1. IdType枚举:
  • AUTO: 数据库自增长
  • INPUT: 通过set方法自行输入
  • ASSIGN_ID: 分配基于雪花算法的ID (默认)
  1. 如果数据表中指定id是自增长, 那么使用MP时, 一定要给id字段设置类型为AUTO, 因为默认是雪花算法

指定字段: 当实体类的变量名存在特殊情况时, 使用@TableField注解, 处理表中的字段

@Data
public class User {//用户名//1.成员变量名与数据库字段名不一致@TableField("username")private String name;//状态(1正常 2冻结)//2.成员变量名以 is 开头, 且是布尔值//如果变量以is开头且是布尔值, MP编译时会去掉is, 造成变量名与字段名不一致,所以需要手动处理@TableField("is_status")private Boolean isStatus;//排序//3.成员变量名与数据库关键字冲突@TableField("`order`")private Integer order;//地址//4.成员变量名不是数据库字段@TableField(exist=false)private String address;
}

常用配置

MyBatisPlus的配置项继承了MyBatis原生配置和一些自己的配置, 更多的配置可以去官网查看

  1. 官网: MyBatis-Plus 🚀 为简化开发而生
  2. 大多情况下默认的配置就足够用了, 如果有需要再修改配置就可以了

小结

MyBatisPlus使用的基本流程

  1. 引入起步依赖
  2. 自定义Mapper继承BaseMapper
  3. 如果实体类和数据表信息对应关系有问题, 在实体类上添加注解指定表信息
  4. 在application.yml中根据需要调整或添加配置
http://www.yayakq.cn/news/581508/

相关文章:

  • 成都网站建设公司有哪些内容没有地址如何注册公司
  • 部门做网站优点懒人学做网站
  • 榆林网站建设电话佛山企业网站建设电话
  • 企业网站建设方案对比汇报wordpress正则
  • 免费建站网站一级123456自己做的网站手机不能看
  • 西宁网站制作哪家公司好wordpress seo 自定义结构
  • 网站群系统建设思路搭建一个网站要多少
  • 网站备案被注销怎么把本地wordpress上传到服务器
  • 教人做辐射4mod的网站工业设计公司取名
  • 红安建设局投诉网站绵阳做网站公司
  • 如何注册腾讯企业邮箱深圳 seo 外贸网站建设 多语种
  • 新网做网站流程网站建设 事迹
  • 帮别人做网站服务器家装公司加盟哪个公司好
  • 二手市场网站开发已满18点此自动转
  • 酷玛网站建设视频直播开发平台
  • 西安网站建设sxyun保定建网站
  • 网站建设方案书人员资金安排如何建设网站导航内链接
  • 重庆企业网站推广费用室内装修设计软件哪个好用
  • php网站开发设计模式朝阳网站建设公司电话
  • 学做网站必须php吗手机静态网站开发制作
  • 网站建设陕西2元域名注册网站
  • 浙江省建设门户网站seo学院
  • 织梦网站头部茶叶网站建设公司
  • 网站设计的必要性网站导航网站建设多少钱
  • 模具厂咋做网站效果最好h5制作软件
  • 温岭市建设局网站审批公示WordPress 转移数据
  • 建站工具大全设计平台网站
  • 栾城做网站哪里有免费网站可以看
  • 网站域名迁移公告廊坊市建设局网站
  • 广水网站设计东莞百度seo排名