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

包头网站建设多少钱市场调研报告范文大全

包头网站建设多少钱,市场调研报告范文大全,web制作网页怎么在鼠标经过是换界面,邢台疫情学习目标能够基于MyBatisPlus完成标准Dao开发能够掌握MyBatisPlus的条件查询能够掌握MyBatisPlus的字段映射与表名映射能够掌握id生成策略控制能够理解代码生成器的相关配置一、MyBatisPlus简介MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工…

学习目标


能够基于MyBatisPlus完成标准Dao开发

能够掌握MyBatisPlus的条件查询

能够掌握MyBatisPlus的字段映射与表名映射

能够掌握id生成策略控制

能够理解代码生成器的相关配置

一、MyBatisPlus简介


MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率

开发方式

基于MyBatis使用MyBatisPlus

基于Spring使用MyBatisPlus

基于SpringBoot使用MyBatisPlus

1. 入门案例

①:创建新模块,选择Spring初始化,并配置模块相关基础信息
②:选择当前模块需要使用的技术集(仅保留JDBC)
③:手动添加MyBatisPlus起步依赖
       <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--添加mybatisplus的依赖 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>

注意事项1:由于mp并未被收录到idea的系统内置配置,无法直接选择加入

注意事项2:如果使用Druid数据源,需要导入对应坐标

④:制作实体类与表结构

(类名与表名对应,属性名与字段名对应)

新建一个数据库mybatisplyus

⑤:设置Jdbc参数(application.yml)
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=UTCusername: rootpassword: 123456
⑥:定义数据接口,继承BaseMapper
//使用mp,dao的写法,只需要继承一个父亲接口就可以BaseMapper,还要注意加上泛型
@Mapper
public interface UserDao extends BaseMapper<User> {}
⑦:测试类中注入dao接口,测试功能

查询所有

@SpringBootTest
public class TestUserDao {@Autowiredprivate UserDao userDao;//查询所有@Testvoid testFindAll() {List<User> list = userDao.selectList(null);System.out.println("list=" +list);}}

2. MyBatisPlus概述

问题导入

通过入门案例制作,MyBatisPlus的优点有哪些?

2.1 MyBatis介绍

  • MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率

  • 官网:https://mybatis.plus/ https://mp.baomidou.com/

2.2 MyBatisPlus特性

  • 无侵入:只做增强不做改变,不会对现有工程产生影响

  • 强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作

  • 支持 Lambda:编写查询条件无需担心字段写错

  • 支持主键自动生成

  • 内置分页插件

  • ……

二、标准数据层开发


1. MyBatisPlus的CRUD操作

下面用MP进行CURD

1.1添加

//    新增
@Testvoid testAdd() {User user = new User();user.setName("黑马程序员");user.setPassword("itheima");user.setAge(12);user.setTel("4006184000");int row = userDao.insert(user);System.out.println("row = " + row);}

1.2 删除

这里面因为刚才不小心多增加一个相同内容 所以这里面删除的话id就用雪花

//删除@Testvoid testDelete() {// int row = userDao.deleteById(3);int row = userDao.deleteById(1631599267871215618L);System.out.println("row = " + row);}

我们现在把另一个也删除了

1.3 修改

  //修改@Testvoid testUpdate() {//1.先查询数据User user = userDao.selectById(2);user.setPassword("777");//2.修改int row = userDao.updateById(user);System.out.println("row = " + row);}

1.4 查询单个

     //查询单个@Testvoid testFindById() {User user = userDao.selectById(2);System.out.println("user = " + user);}

2. Lombok插件介绍

问题导入

有什么简单的办法可以自动生成实体类的GET、SET方法?

  • Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发。

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version>
</dependency>

常用注解:==@Data==,为当前实体类在编译期设置对应的get/set方法,无参/无参构造方法,toString方法,hashCode方法,equals方法等

package com.itheima.domain;import lombok.*;
/*1 生成getter和setter方法:@Getter、@Setter生成toString方法:@ToString生成equals和hashcode方法:@EqualsAndHashCode2 统一成以上所有:@Data3 生成空参构造: @NoArgsConstructor生成全参构造: @AllArgsConstructor4 lombok还给我们提供了builder的方式创建对象,好处就是可以链式编程。 @Builder【扩展】*/
@Data
public class User {private Long id;private String name;private String password;private Integer age;private String tel;
}

3. MyBatisPlus分页功能

问题导入

思考一下Mybatis分页插件是如何用的?

3.1 分页功能接口

3.2 MyBatisPlus分页使用

①:执行分页查询

Ipage 接口

用MP后 是有一个selectPage() 方法 然后这个方法传进去一个对象page 这里面就已经包装了查第几页 每页查第多少条

    //分面查询@Testvoid testFindPage() {/** @param current 当前页* @param size    每页显示条数*///1 创建IPage分页对象,设置分页参数   当前页为第一页  每页显示条数为2条//IPage<User> page =new Page<>(1,2);//1 创建IPage分页对象,设置分页参数   当前页为第二页  每页显示条数为2条IPage<User> page =new Page<>(2,2);//2 执行分页查询IPage<User> iPage = userDao.selectPage(page, null);//3 获取分页结果System.out.println("当前页码值:"+page.getCurrent());System.out.println("每页显示数:"+page.getSize());System.out.println("总页数:"+page.getPages());System.out.println("总条数:"+page.getTotal());System.out.println("当前页数据:"+page.getRecords());}}

②:设置分页拦截器作为Spring管理的bean

@Configuration
public class MybatisPlusConfig {/*配置分页拦截器,需要打上@Bean的注解,暴露给spring使用*/@Beanpublic MybatisPlusInterceptor mpi(){//1 创建MybatisPlus拦截器对象MybatisPlusInterceptor mpi  =new MybatisPlusInterceptor();//2 添加分页拦截器mpi.addInnerInterceptor(new PaginationInnerInterceptor());//返回MyBatisplus的拦截器对象return mpi;}
}

重新运行发现 这回正常了

3.3 开启MyBatisPlus日志

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=UTCusername: rootpassword: 123456
# 开启mp的日志(输出到控制台)
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

3.4 解决日志打印过多问题

3.4.1 取消初始化spring日志打印

做法:在resources下新建一个logback.xml文件,名称固定,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration></configuration>

关于logback参考播客:https://www.jianshu.com/p/75f9d11ae011

3.4.2 取消SpringBoot启动banner图标
spring:main:banner-mode: off # 关闭SpringBoot启动图标(banner)
3.4.3 取消MybatisPlus启动banner图标
# mybatis-plus日志控制台输出
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplglobal-config:banner: off # 关闭mybatisplus启动图标

三、DQL编程控制


环境准备

1. 条件查询方式

  • MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合

1.1 条件查询

1.1.1 方式一:按条件查询

http://www.tj-hxxt.cn/news/64461.html

相关文章:

  • 足球网站开发重庆百度seo整站优化
  • 用dw做静态网站的步骤百度贴吧官网网页
  • 发外链的论坛网站武汉电脑培训学校有哪些
  • 如何远程登录网站服务器宁波seo优化报价多少
  • 广告图片素材网推推蛙贴吧优化
  • 怎么学做网站跟聊天软件网络营销策划书范文
  • 总部基地网站建设做网页怎么做
  • 行政审批局政务服务网站建设情况网站接广告平台
  • 都匀网站建设谷歌商店官网下载
  • 图片在线生成器优化营商环境评价
  • 网站关于页面培训网登录入口
  • 9免费网站空间网络营销的五大特点
  • 文登住房和城乡建设局网站最近的新闻大事10条
  • 新沂网站设计关键词搜索推广排行榜
  • 网站没有做301定向网站建设优化收费
  • 湖北三丰建设集团股份网站销售平台排名
  • wordpress怎么清除缓存网站关键词快速优化
  • php自建网站友情链接检索
  • 巴中做网站公司最近比较火的关键词
  • 杭州网站推广排名网址域名大全
  • 深圳市坪山新区建设局网站搜索引擎优化岗位
  • 双线网站上海百度推广公司
  • 东莞 营销网站建设关键词优化如何
  • 怎么免费开网站泰州seo网络公司
  • AWS免费套餐做网站可以吗可以免费做网站推广的平台
  • 福田网站建设费用郑州seo代理外包公司
  • 做网站一般用什么 语言小红书关键词排名
  • 做网站如何选择颜色百度联盟官网
  • 188建站系统源码市场营销策划方案书
  • 弹窗网站制作公众号关键词排名优化