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

网站建设毕业设计报告书可以直接玩游戏的网址

网站建设毕业设计报告书,可以直接玩游戏的网址,企业搜索,wordpress黄页一.特点 无侵入#xff1a;只做增强不做改变#xff0c;引入它不会对现有工程产生影响#xff0c;如丝般顺滑损耗小#xff1a;启动即会自动注入基本 CURD#xff0c;性能基本无损耗#xff0c;直接面向对象操作强大的 CRUD 操作#xff1a;内置通用 Mapper、通用 Serv…一.特点 无侵入只做增强不做改变引入它不会对现有工程产生影响如丝般顺滑损耗小启动即会自动注入基本 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 操作智能分析阻断也可自定义拦截规则预防误操作 二.快速入门 官网地址MyBatis-Plus 按照官方文档实现步骤 1.首先我们创建数据库和表 CREATE DATABASE mybatis_plus; USE mybatis_plus;DROP TABLE IF EXISTS USER;CREATE TABLE USER (id BIGINT(20) NOT NULL COMMENT 主键ID,NAME VARCHAR(30) NULL DEFAULT NULL COMMENT 姓名,age INT(11) NULL DEFAULT NULL COMMENT 年龄,email VARCHAR(50) NULL DEFAULT NULL COMMENT 邮箱,PRIMARY KEY (id) );DELETE FROM USER;INSERT INTO USER (id, NAME, age, email) VALUES (1, Jone, 18, test1baomidou.com), (2, Jack, 20, test2baomidou.com), (3, Tom, 28, test3baomidou.com), (4, Sandy, 21, test4baomidou.com), (5, Billie, 24, test5baomidou.com);2.创建一个springboot项目只需要添加web支持然后导入依赖 尽量不要同时导入mybatis和mybatis-plus因为版本有差异! dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.0.5/version/dependency 3.连接数据库和mybatis相同 # mysql 5 驱动不同 com.mysql.jdbc.Driver # mysql 8 驱动不同 com.mysql.cj.jdbc.Driver . 需要增加时区的配置 serverTimezoneGMT%2B8 # DataSource Config spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis_plus?useSSLfalseuseUnicodetruecharacterEncodingutf-8serverTimezoneGMT%2B8username: rootpassword: 201408181 4.编写我们的dao层的User类 Data AllArgsConstructor NoArgsConstructor public class User {private Long id;private String name;private Integer age;private String email;} 5.编写我们的mapper接口 //使用mybatis-plus后我们不用在写xml文件了所有CRUD操作都已经编写完成了 // 在对应的mapper上面继承基本的类 BaseMapper Reference public interface UserMapper extends BaseMapperUser {}6.在主启动类MybatisPlusApplication上扫描我们Mapper包下的所有接口 MapperScan(com.jiu.mapper) 7.测试类中测试 Autowiredprivate UserMapper userMapper;Testvoid contextLoads() {//参数是一个Wrapper , 条件构造器,这里我们先不用 null//查询全部用户ListUser users userMapper.selectList(null);users.forEach(System.out::println);} 三.配置日志 # 配置日志 (默认控制台输出) mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 再次测试就会输入配置文件 四.CRUD扩展  1.查询操作 查询一个数据Testpublic void testSelectById() {//查询一个数据User user userMapper.selectById(1L);System.out.println(user);} 查询多个数据 Testpublic void testSelectBatchIds() {;//查询多个数据ListUser users userMapper.selectBatchIds(Arrays.asList(1, 2, 3));users.forEach(System.out::println);} 条件查询 Testpublic void testSelectBatchId() {;//条件查询HashMapString, Object map new HashMap();map.put(name,白泽);map.put(age,20);ListUser users userMapper.selectByMap(map);users.forEach(System.out::println);} 2.插入数据 Testpublic void testInsert() {User user new User();user.setName(jiuqi);user.setAge(19);user.setEmail(2096253166qq.com);int result userMapper.insert(user);System.out.println(result);System.out.println(user);}3.主键生成策略 分布式系统唯一id生成:https://www.cnblogs.com/haoxinyue/p/5208136.html 雪花算法 snowflake是Twitter开源的分布式ID生成算法结果是一个long型的ID。其核心思想是使用41bit作为毫秒数10bit作为机器的ID5个bit是数据中心5个bit的机器ID12bit作为毫秒内的流水号意味着每个节点在每毫秒可以产生 4096 个 ID最后还有一个符号位永远是0.几乎全球唯一 在实体类上加TableId(type IdType.ID_WORKER)     全局唯一id对应数据库中的主键(uuid.自增id.雪花算法.redis.zookeeper)  这是默认生成的id在实体类上加入TableId(type IdType.AUTO)             主键自增当然我们数据库对应字段一定要是自增在实体类上加入TableId(type IdType.INPUT)            手动输入我们需要手动添加否则为null当我们不添加任何注解是手动添加id也能成功如果使用上面俩个注解手动添加无效 4.更新数据  sql语句是动态sql Testpublic void testUpdate() {User user new User();user.setId(6L);user.setName(九七哟);user.setAge(20);user.setEmail(2096253166qq.com);userMapper.updateById(user); //updateById()参数是 一个对象!}5.自动填充 阿里巴巴开发手册:所有的数据库表:gmt_create .gmt_modified几乎所有的表都要配置上!而且需要自动化! 第一种方法我们需要在数据库新增对应字段一般不使用 在实体类上也要加上新增的字段 private Date createTime; private Date updateTime; 第二种方法在代码上修改 删除数据库默认值取消更新 ​​​​​​ 实体类上加上注解TableField(fill FieldFill.INSERT)private Date creatseTime;TableField(fill FieldFill.INSERT_UPDATE)private Date updateTime; 创建handler包写MyMetaObjectHandler类 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date;Slf4j Component public class MyMetaObjectHandler implements MetaObjectHandler {Overridepublic void insertFill(MetaObject metaObject) {log.info(start insert fill ....);this.setFieldValByName(createTime,new Date(),metaObject);this.setFieldValByName(updateTime,new Date(),metaObject);}Overridepublic void updateFill(MetaObject metaObject) {log.info(start update fill ....);this.setFieldValByName(updateTime,new Date(),metaObject);} }6.乐观锁悲观锁 乐观锁: 顾名思义十分乐观,他总是认为不会出现问题,无论干什么都不去上锁!如果出现了问题,再次更新值测试 悲观锁;顾名思义十分悲观,他总是认为出现问题,无论干什么都会上锁!再去操作! 乐观锁实现方式: 取出记录时,获取当前version更新时,带上这个version执行更新时,set version newVersion where version oldVersion如果version不对,就更新失败 测试下乐观锁 给数据库添加version 给我们实体类加上versionVersionprivate int version; 注册组件   我们新建config包写MyBatisPlusConfig类这是配置类我们可以把读取mapper文件的注解拿过来MapperScan(com.jiu.mapper) import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement;EnableTransactionManagement //自动管理事务默认开启可以不用写 MapperScan(com.jiu.mapper) //这是配置类我们可以把读取mapper文件的注解拿过来 Configuration public class MyBatisPlusConfig {Beanpublic OptimisticLockerInterceptor optimisticLockerInterceptor() {return new OptimisticLockerInterceptor();} }7.分页查询 配置类上添加配置//分页插件public PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();} 测试Testpublic void testPage() {PageUser page new Page(2, 5);userMapper.selectPage(page, null);page.getRecords().forEach(System.out::println);System.out.println(page.getTotal()); //获取查询的总数} 8.删除操作和查询操作一样把select换成delete就行 9.逻辑删除 物理删除:从数据库中直接移除 逻辑删除: 在数据库中没有被移除,而是通过一个变量来让他失效! deleted0deleted1执行的是一个update操作再次查询也没有这个数据管理员可以查看被删除的记录!防止数据的丢失,类似于回收站! 首先我们在数据库表上填上我们要测试的数据实体类加上deleteTableLogicprivate Integer del; 配置类中添加配置  //注册逻辑删除 Bean public ISqlInjector sqlInjector(){return new LogicSqlInjector(); } yaml加添加配置 # 配置日志 (默认控制台输出) mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 配置逻辑删除global-cb-config:logic-delete-value: 1logic-not-delete-value: 0
http://www.dnsts.com.cn/news/76931.html

相关文章:

  • 新网站建设特色互联网保险优势
  • 网站建设包含那些 内容响应式网站搭建
  • 阿里云服务器如何配置多网站建设工程分包合同
  • 优化网站改版做网站前端多少钱
  • 江南大学做网站建网站的软件有哪些
  • 门户网站部署方案广告营销文案
  • 公司网站找哪家制作网页游戏平台
  • 植物园门户网站建设方案湖北住房建设网站
  • 花生壳网站建设如何使用阿里云做网站
  • 免费个人网站服务器 htmlwordpress本地数据库
  • 网站运营实训报告总结中国风网站模板html
  • 万网怎么做网站两当网站建设
  • 做本地团购网站软件销售
  • 建设企业网站进去无法显示网站改版seo方案
  • 徐州网站seo公司番禺网站建设平台
  • 做费网站个人域名网站
  • 自己建立网站用什么软件wordpress 分类树
  • 慈溪住房和城乡建设部网站更多标签的下载方法
  • 网站建设 交易保障杭州江干区抖音seo哪里有
  • 类似非小号的网站怎么做ui设计是什么需要美术功底吗
  • 装修行业 网站建设上海工程公司
  • 网站建设会议报道手机制作表白网站
  • 家庭网络如何做网站服务器常用企业网站模板对比
  • 网站建设 分类济南高新网站建设
  • 高端网站建设网页设计衣服货源怎么找厂家拿
  • 知识付费网站源码下载如何建立互联网公司网站
  • 专门做酒店网站成都发现6例阳性
  • 网站策划书怎么写一个主机多个网站
  • 做网站改变图片位置wordpress在后台文章自定义表单
  • 张家港手机网站网站关键词如何优化