前言 power designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据库建模工具。使用它可以分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。
使用PowerDesigner导出rtf文件和PDM
准备
PowerDesigner 16.5
已有pdm导出rtf打开pdm后,右键点击后选择New->Report。
出现以下界面,里面的结构可以按你的要求自由组合。一般将名称、代码、数据类型、注释选择导出即可。
微信作为现在最火的社交App,使用微信扫描二维码登录也更加方便和快捷,也不至于注册一大堆账号,想起来都烦。使用花生壳+微信测试账号+微信公众号+java做一个demo熟悉下微信开发。
demo地址:wxlogin-demo
Updated By Mr.wang 2019-1-4: 这个文章是在2017-09-17 在博客园写的,边写代码边写博客,记录的不够详细,还请包涵。微信把接口好像调整了,订阅号现在没有这个测试登录的权限了,但是整体实现应该是没有区别的。
准备
花生壳:用来作为内网穿透,以便微信登录接口(需要公网中能够访问到的地址)回调,花生壳下载链接
微信公众号:设置【授权回调页面域名】;
微信公众号开发测试账号:点击访问申请地址
注意事项在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
开发demo所需要的jar包
直接上代码Auth ...
介绍:FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。
记录Freemarker在项目中的配置与使用
准备
框架:Spring+SpringMvc+Mybatis
Freemarker:官网介绍
配置Maven中需要引入的依赖1234567<!-- freemarker的版本号 --><freemarker.version>2.3.20</freemarker.version><dependency> <groupId ...
本文内容有:
DOM内部插入append()与appendTo()
DOM内部插入prepend()与prependTo()
DOM外部插入after()与before()
DOM外部插入insertAfter()与insertBefore()
DOM节点删除之empty()的基本用法
DOM节点删除之empty和remove区别
DOM节点删除之保留数据的删除操作detach()
DOM节点删除之detach()和remove()区别
(一)DOM内部插入append()与appendTo()
创建节点及节点属性
创建元素:document.createElement
设置属性:setAttribute
添加文本:innerHTML
加入文档:appendChild
几个问题:
每一个元素节点都必须单独创建
节点是属性需要单独设置,而且设置的接口不是很统一
添加到指定的元素位置不灵活最后还有一个最重要的:浏览器兼容问题处理
jQuery节点创建与属性的处理
把这个节点的结构给通过HTML标记字符串描述出来,通过$()函数处理,$(“html结构”);eg: 12 ...
本文内容有:
jQuery的属性与样式之html()及.text()
jQuery的属性与样式之增加样式.addClass()
jQuery的属性与样式之删除样式.removeClass()
jQuery的属性与样式之切换样式.toggleClass()
jQuery的属性与样式之样式操作.css()
.css()与.addClass()设置样式的区别
jQuery的属性与样式之.val()
jQuery的属性与样式之元素的数据存储
(一)jQuery的属性与样式之html()及.text()
.html()方法: 获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容,具体有3种用法:
.html() 不传入值,就是获取集合中第一个匹配元素的HTML内容
.html(htmlString) 设置每一个匹配元素的html内容
.html(function(index, oldhtml)) 用来返回设置HTML内容的一个函数
注意事项:.html()方法内部使用的是DOM的innerHTML属性来处理的,所以在设置与获取上需要注意 ...
前言jQuery是一个JavaScript代码库(或者JavaScript框架)。jQuery的宗旨是“Write Less,Do more”(写更少的代码,做更多的事情)。jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
jQuery学习之样式篇选择器
选择器
描述
$(“parent > child”)
子选择器:选择所有指定的“parent”元素中指定的“child”的直接子元素,相邻上下级关系
$(“ancestor descendant”)
后代选择器:选择给定的祖先元素的所有后代元素,包含这个元素的直接子元素或者、孙子、曾孙等
$(“prev + next”)
相邻兄弟选择器:选择紧跟在“prev”元素后的“next”元素
$(“prev ~ siblings”)
一般兄弟选择器:匹配“prev”元素之后的所有兄 ...
最近项目中经常要调试webservice接口,从朋友处了解到他们调试webservice接口时使用SoapUI,觉得十分好用,个人也对此十分感兴趣,因此简要记录一下这个工具的使用。
准备
下载SoapUI,我使用的是5.3.0 下载SoapUI传送门
WebService 服务接口
进入正题新建调试项目
输入项目名称及要调试的接口有效地址,输入完毕点击OK
soapUI会自动获取所有已开放接口,在想要调试的接口方法上面选中右击,选择new request,输入名称后如下图会自动生成如下格式代码;其中 web:in0中填写入参注意:xml格式的入参最好使用 <[CDATA[]]> 包起来。点击左上角的绿色三角就可以调试接口了。
新建测试套件 New TestSuite在项目名称上右击,选择 New TestSuite,输入名称保存
在自己新建的TestSuite名称上右击,选择 New TestCase,输入名称保存
在Test Steps上右击 选择 Add Step –>SOAP Request,输入名称并选择接口,名称最好容易识别一点
接下来就可以加入入参进行 ...
shift:删除原数组第一项,并返回删除元素的值,原数组为空则返回undefined。
unshift:将参数添加到原数组开头,并返回数组的长度。
pop:删除原数组最后一项,并返回删除元素的值,原数组为空则返回undefined。
push:将参数添加到原数组末尾,并返回数组的长度。
shift:删除原数组第一项,并返回删除元素的值,原数组为空则返回undefined。
unshift:将参数添加到原数组开头,并返回数组的长度。
pop:删除原数组最后一项,并返回删除元素的值,原数组为空则返回undefined。
push:将参数添加到原数组末尾,并返回数组的长度。
要在两台不同的电脑上进行开发,数据库需要统一,由于自己第一次完整的设计表结构,因此多次更改表结构,造成了很多不必要的麻烦,需要将数据库导出成sql脚本。
命令行下具体用法如下: mysqldump -用户名 -p密码 -d 数据库名 表名 脚本名;导出数据库名为ssm_web的表结构(其中用户名为root,密码为root,生成的脚本名为db.sql)1mysqldump -u root -proot -d ssm_web>db.sql;
导出数据库名为ssm_web某张表(test)结构1mysqldump -u root -proot -d ssm_web test>test.sql;
导出数据库名为ssm_web所有表结构及表数据(不加-d)1mysqldump -u root -proot ssm_web>e:\lucifer\ssm_web.sql
导出数据库名为ssm_web某张表(test)结构及表数据(不加-d)1mysqldump -u root -proot ssm_web test>test.sql;
导入脚本1234567MySQL> ...
转载自防止js全局变量污染方法总结-待续javaScript 可以随意定义保存所有应用资源的全局变量。但全局变量可以削弱程序灵活性,增大了模块之间的耦合性。在多人协作时,如果定义过多的全局变量 有可能造成全局变量冲突,也就是全局变量污染问题,以下是两种解决办法
定义全局变量命名空间只创建一个全局变量,并定义该变量为当前应用容器,把其他全局变量追加在该命名空间下
123456789var MY={}; my.name={ big_name:"zhangsan", small_name:"lisi"};my.work={ school_work:"study", family_work:"we are"};
利用匿名函数将脚本包裹起来12345678(function(){ var exp={}; var name="aa"; exp.method=fu ...