MybatisPlus入门(1)
一、简介官网:http://mp.baomidou.com/
参考教程:http://mp.baomidou.com/guide/
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
二、特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键 ...
通用Mapper笔记
1 引入1.1 作用替我们生成常用增删改查操作的 SQL 语句。
1.2 代码官方发布地址https://gitee.com/free
https://gitee.com/free/Mapper/wikis/1.1-java?parent=1.integration
2 快速入门2.1创建测试数据1234567891011121314CREATETABLE`tabple_emp`( `emp_id` intNOTNULLAUTO_INCREMENT, `emp_name` varchar(500)NULL, `emp_salary` double(15,5)NULL, `emp_age` intNULL, PRIMARYKEY(`emp_id`));INSERT INTO `tabple_emp` (`emp_name`,`emp_salary`,`emp_age`)VALUES('tom','1254.37','27');INSERT INTO `tabple_emp` (`emp_name`,`emp_salary`,`e ...
SpringBoot整合动态验证码
基于 springBoot 和Google Kaptcha 验证码组件
后端生成验证码导入依赖
12345<dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version></dependency>
编写Kaptcha配置类
12345678910111213141516171819202122232425262728293031package com.nowcoder.community.config;import com.google.code.kaptcha.Producer;import com.google.code.kaptcha.impl.DefaultKaptcha;import com.google.code.kaptcha.util.Config;import org.springframework.context.ann ...
SpringBoot整合邮箱发送邮件
1. 邮箱配置要确保使用的邮箱开启了客户端登录服务,以QQ邮箱为例:
将下面两个服务全部开启,然后生成一个授权码(相当于独立密码非QQ密码)
2. 简单邮件发送新建SpringBoot项目
引入依赖
1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>
配置application
1234spring.mail.username=1393236279@qq.comspring.mail.password=lntjqzupsepub # 上面的授权码spring.mail.host=smtp.qq.comspring.mail.properties.mail.smtp.ssl.enable=true
编写测试类
1234567891011121314151617181920@SpringBootTest@ ...
Node.js中使用MongoDB数据库
1.模块化相关规范1.1 模块化概述传统开发模式的主要问题① 命名冲突② 文件依赖**通过模块化解决上述问题 **
模块化就是把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成 员,也可以依赖别的模块
模块化开发的好处:方便代码的重用,从而提升开发效率,并且方便后期的维护
1.2 浏览器端模块化规范
AMDRequire.js (http://www.requirejs.cn/)
CMDSea.js (https://seajs.github.io/seajs/docs/)
1.3 服务器端模块化规范
CommonJS
① 模块分为 单文件模块 与 包② 模块成员导出:module.exports 和 exports③ 模块成员导入:require(‘模块标识符’)
1.4 大一统的模块化规范 – ES6模块化在 ES6 模块化规范诞生之前,Javascript 社区已经尝试并提出了 AMD、CMD、CommonJS 等模块化规范。
但是,这些社区提出的模块化标准,还是存在一定的差异性与局限性、并不是浏览器与服务器通用的模块化标准 ...
Node.js中使用MongoDB数据库
今日目标1.能够了解模块化的相关规范2.了解webpack3.了解使用Vue单文件组件4.能够搭建Vue脚手架5.掌握Element-UI的使用
1.模块化的分类A.浏览器端的模块化 1).AMD(Asynchronous Module Definition,异步模块定义) 代表产品为:Require.js 2).CMD(Common Module Definition,通用模块定义) 代表产品为:Sea.js
B.服务器端的模块化 服务器端的模块化规范是使用CommonJS规范: 1).使用require引入其他模块或者包 2).使用exports或者module.exports导出模块成员 3).一个文件就是一个模块,都拥有独立的作用域
C.ES6模块化 ES6模块化规范中定义: 1).每一个js文件都是独立的模块 2).导入模块成员使用import关键字 3).暴露模 ...
Node.js中使用MongoDB数据库
本文目标
能够说出什么是路由
能够说出前端路由的实现原理
能够使用Vue-Router实现前端路由
能够实现嵌套路由,动态路由
能够实现命名路由以及编程式导航
1.路由的概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。
路由分为前端路由和后端路由1).后端路由是由服务器端进行实现,并完成资源的分发2).前端路由是依靠hash值(锚链接)的变化进行实现
后端路由性能相对前端路由来说较低,所以,我们接下来主要学习的是前端路由前端路由的基本概念:根据不同的事件来显示不同的页面内容,即事件与事件处理函数之间的对应关系前端路由主要做的事情就是监听事件并分发执行事件处理函数
2.前端路由的初体验前端路由是基于hash值的变化进行实现的(比如点击页面中的菜单或者按钮改变URL的hash值,根据hash值的变化来控制组件的切换)核心实现依靠一个事件,即监听hash值变化的事件
1234window.onhashchange = function(){ ...
Node.js中使用MongoDB数据库
axios
基于promise用于浏览器和node.js的http客户端
支持浏览器和node.js
支持promise
能拦截请求和响应
自动转换JSON数据
能转换请求和响应数据
axios基础用法
get和 delete请求传递参数
通过传统的url 以 ? 的形式传递参数
restful 形式传递参数
通过params 形式传递参数
post 和 put 请求传递参数
通过选项传递参数
通过 URLSearchParams 传递参数
axios基本用法1234567891011121314151617<script type="text/javascript" src="js/axios.js"></script> <script type="text/javascript"> /* async/await处理多个异步任务 */ axios.defaults.baseURL = 'http://localhost:3000 ...
6.JVM-垃圾回收机制
基本概念:
在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收在java中,程序员是不需要显示的去释放一个对象的内存的,而是由虚拟机自行执行。在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收
什么对象可以看作垃圾?
没有被任何其他对象引用的对象
1. 如何判断对象是否是垃圾
引用计数算法判断对象的引用数量,每个对象实例都有一个引用计数器,当它被引用时+1,完成引用时-1.任何时刻计数器数值为零的对象就是不可能再被使用的,那么这个对象就是可回收对象。
优点:执行效率高,程序执行受影响较小。
缺点:无法解决 ...
Node.js中使用MongoDB数据库
接口调用方式
原生ajax
基于jQuery的ajax
fetch
axios
url 地址格式有哪些
传统的url
Restful形式的url
异步
JavaScript的执行环境是「单线程」
所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的线程只有一个,也就是一次只能完成一项任务,这个任务执行完后才能执行下一个,它会「阻塞」其他任务。这个任务可称为主线程
异步模式可以一起执行多个任务
JS中常见的异步调用
定时任何
ajax
事件函数
promise
主要解决异步深层嵌套的问题
promise 提供了简洁的API 使得异步操作更加容易
Promise的基础使用1234567891011121314151617181920212223242526272829<body> <div>前后端交互</div> <script type="text/javascript" src="js/jquery.js"></script> <script ty ...




