element

mybatis报:The content of element type must match xx

隐身守侯 提交于 2020-07-29 06:54:04
使用org.mybatis.generator反向生成mapper、mapper.xml、do、doExample文件,配置文件generatorConfig.xml报如下错误: The content of element type must match "property*, plugin*, commentGenerator?, jdbcConnection, javaTypeResolver?,javaModelGenerator, sqlMapGenerator?, javaClientGenerator?, table+" 原因 配置文件 generatorConfig.xml 里面的context的子元素必须按照它给出的顺序,如错误提示的match“……”部分。 解决方案 按照提示依照"property , plugin , commentGenerator?, jdbcConnection, javaTypeResolver?,javaModelGenerator, sqlMapGenerator?, javaClientGenerator?, table+"元素顺序进行配置 generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration

vue甘特图gantt

一个人想着一个人 提交于 2020-07-29 06:33:42
  vue做甘特图,先大致介绍下核心功能: (1)横轴、纵轴拖拽; (2)自定义监听点击事件(双击、右键等)(3)任务之间显示父子层级关系;(4)左侧列表信息,右侧时间轴表示任务;(5)每个任务可以订制样式,并且可以动态修改样式;(6)自定义时间粒度显示(小时、天、星期、月、年);(7)支持大批量数据渲染;(8) 支持同行多节点渲染;(9)支持选中,以及批量选中;(9)优秀的扩展性,支持第三方插件。等等还有其他的一些功能。这里先看一下效果图:   接下来会介绍用什么实现的,怎么使用,怎么添加拖拽、点击等各种功能,我以vue为例进行开发。 1、使用GSTC做甘特图开发   Git项目地址: https://github.com/neuronetio/gantt-schedule-timeline-calendar#weekendhighlight-plugin   官方vue实例: https://github.com/neuronetio/vue-gantt-schedule-timeline-calendar   npm指令: npm i gantt-schedule-timeline-calendar   官方做了 3 大主流框架的封装,具体看Git链接,这里我也附上了vue版本的 npm 包地址。   基本使用如下: ps:文章末尾我会贴一个完整的代码

26. Remove Duplicates from Sorted Array

本秂侑毒 提交于 2020-07-29 06:24:02
26. Remove Duplicates from Sorted Array Given sorted array nums , remove the duplicates in-place such that each element appears only once and return the new length. Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory. Example 1: Given nums = [1,1,2] , Your function should return length=2, with the first two elements of nums being 1 and 2 respectively. It doesn't matter what you leave beyond the returned length. Example 2: Given nums = [0,0,1,1,1,2,2,3,3,4] , Your function should return length=5, with the first five

GitBook + Typora 部署我的markdown文档

梦想与她 提交于 2020-07-29 05:59:14
Typora: 跨平台的markdown编辑器 GitBook: 基于 Node.js,所以我们首先需要安装 Node.js,然后安装gitbook-cli 部署环境 nodeenv envnode # 创建环境 . envnode/bin/activate # 切换到当前虚拟环境 npm config set registry=http://registry.npm.taobao.org -g npm install -g gitbook-cli # 更换国内源,并安装gitbook gitbook serve # 查看 http://localhost:4000 创建文档工作区 mkdir ~/Desktop/mybook gitbook init # 初始化 gitbook serve --port 12345 # 指定端口运行服务 gitbook serve 命令,然后在浏览器地址栏中输入 http://localhost:4000 便可预览书籍。 Typora编辑文档 安装插件 book.json { "title": "Mybook", "author": "LJ", "description": "markdown笔记", "language": "zh-hans", "plugins": [ "-lunr", "-search", "search-pro", "

VUE -element UI 学习整理 一 布局

二次信任 提交于 2020-07-29 05:30:14
https://element.eleme.cn/#/zh-CN/component/layout 通过基础的 24 分栏,迅速简便地创建布局。 一 基础布局 通过 row 和 col 组件,并通过 col 组件的 span 属性我们就可以自由地组合布局。 1)均分 <el-row > <el-col :span="24"> <div class="grid-content bg-purple-dark"> <h1>dddd</h1> </div> </el-col> </el-row> <el-row > <el-col :span="12"> <div class="grid-content bg-purple-dark"> <h1>dddd</h1> </div> </el-col> <el-col :span="12"> <div class="grid-content bg-purple"> <h1>dddd</h1> </div> </el-col> </el-row> <el-row > <el-col :span="8"> <div class="grid-content bg-purple-dark"> <h1>dddd</h1> </div> </el-col> <el-col :span="8"> <div class="grid-content bg

java8函数式编程

£可爱£侵袭症+ 提交于 2020-07-29 05:13:29
一 、什么是函数式编程 1、每个人对 函数式编程 的理解不尽相同。 但其核心是:在思考问题时,使用不可变值和函数,函数对一个值进行处理,映射成另一个值。 Lambda 表达式是一个匿名方法,将行为像数据一样进行传递。 2、编写不同形式的Lambda表达式: Runnable noArguments = () -> System.out.println("Hello World"); 所示的 Lambda 表达式不包含参数,使用空括号 () 表示没有参数。该 Lambda 表达式 实现了 Runnable 接口,该接口也只有一个 run 方法,没有参数,且返回类型为 void。 ActionListener oneArgument = event -> System.out.println("button clicked"); 所示的 Lambda 表达式包含且只包含一个参数,可省略参数的括号,这和例 2-2 中的 形式一样 Runnable multiStatement = () -> { System.out.print("Hello"); System.out.println(" World"); }; Lambda 表达式的主体不仅可以是一个表达式,而且也可以是一段代码块,使用大括号 ({})将代码块括起来,如上图所示。该代码块和普通方法遵循的规则别无二致,可以用返

在调试时或从JavaScript代码中如何在DOM节点上查找事件侦听器?

核能气质少年 提交于 2020-07-28 20:49:33
问题: I have a page where some event listeners are attached to input boxes and select boxes. 我有一个页面,其中一些事件侦听器附加到输入框和选择框。 Is there a way to find out which event listeners are observing a particular DOM node and for what event? 有没有一种方法可以找出哪些事件侦听器正在观察特定的DOM节点以及针对哪个事件? Events are attached using: 使用以下事件附加事件: Prototype's Event.observe ; 原型的 Event.observe ; DOM's addEventListener ; DOM的 addEventListener ; As element attribute element.onclick . 作为元素属性 element.onclick 。 解决方案: 参考一: https://stackoom.com/question/1sFw/在调试时或从JavaScript代码中如何在DOM节点上查找事件侦听器 参考二: https://oldbug.net/q/1sFw/How-to-find-event

循序渐进VUE+Element 前端应用开发(7)--- 介绍一些常规的JS处理函数

吃可爱长大的小学妹 提交于 2020-07-28 20:35:52
在我们使用VUE+Element 处理界面的时候,往往碰到需要利用JS集合处理的各种方法,如Filter、Map、reduce等方法,也可以设计到一些对象属性赋值等常规的处理或者递归的处理方法,以前对于这些不是很在意,但往往真正使用的时候,需要了解清楚,否则很容易脑袋出现短路的情况。本篇随笔列出一些在VUE+Element 前端开发中经常碰到的JS处理场景,供参考学习。 1、常规集合的filter、map、reduce处理方法 filter函数的主要用途是对数组元素进行过滤,并返回一个符合条件的元素的数组 const nums = [10,20,30,111,222,333 ] let newNums =nums.filter( function (n){ return n<100 }) 输出:[10,20,30] map函数是对数组每个元素的映射操作,并返回一个新数组,原数组不会改变将newNums中每个数字乘2 const nums = [10,20,30,111,222,333 ] let newNums =nums.filter( function (n){ return n*2 }) 输出:[20,40,60,222,666] reduce函数主要用于对数组所以元素的汇总操作,如全部相加、相乘等 const nums = [10,20,30,111,222,333 ]

Spring AOP 源码解析:注解式切面增强机制

心已入冬 提交于 2020-07-28 20:13:53
Spring AOP 源码解析:注解式切面增强机制 IoC 和 AOP 被称为 Spring 两大基础模块,支撑着上层扩展的实现和运行。虽然 AOP 同样建立在 IoC 的实现基础之上,但是作为对 OOP(Object-Oriented Programing) 的补充,AOP(Aspect-Oriented Programming) 在程序设计领域拥有其不可替代的适用场景和地位。Spring AOP 作为 AOP 思想的实现,被誉为 Spring 框架的基础模块也算是实至名归。Spring 在 1.0 版本的时候就引入了对 AOP 的支持,并且随着版本的迭代逐渐提供了基于 XML 配置、注解,以及 schema 配置的使用方式,考虑到实际开发中使用注解配置的方式相对较多,所以本文主要分析注解式 AOP 的实现和运行机制。 注解式 AOP 示例 首先我们还是通过一个简单的示例演示一下注解式 AOP 的具体使用。假设我们声明了一个 IService 接口,并提供了相应的实现类 ServiceImpl,如下: public interface IService { void sayHello(); void sayHelloTo(String name); void sayByebye(); void sayByebyeTo(String name); } @Service public

什么?你正在学web自动化测试?那这些Selenium的基本操作你了解过吗?

匆匆过客 提交于 2020-07-28 17:14:46
在自动化测试中,我们都知道是通过定位元素来实现的,那么有时候我们定位元素定位不到是为什么呢? 1、页面出现了iframe 2、出现了新的窗口,没有实现句柄的切换 3、三种等待方式,没有选择其中之一来使用,元素没有被加载出来    一、iframe iframe既是一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。 通俗点就是网页中的嵌套网页,如果我们在做自动化测试中,需要定位的元素包含在了iframe内联框架里,那么我们就需要跳进iframe,如果说还需要做后续的操作,但后续的元素不在iframe中,这时候就需要再跳出iframe    我们现在都知道了什么是iframe,那么接下来我们拿126邮箱登录做下示例 我们现来看看网页中的iframe张什么样 可以清楚的看到,当我把鼠标放到这里时,iframe元素的将整个登录覆盖到了,那么这时候,就需要用到iframe的跳入 iframe的跳入,我这里简单归纳了三种,其中两种以126登录为例,一种为一号店登录方式为QQ中的账号密码登录。 方式一: from selenium import webdriver #实例化驱动 driver =webdriver.Chrome() #隐式等待: driver.implicitly_wait(20) # 打开网页: driver.get('https://www.126.com/')