- 博客(263)
- 资源 (28)
- 收藏
- 关注
转载 Mybatis学习笔记(十三)【多对多查询】
Contents示例多对多查询总结resultMap总结本文实现多对多查询,查询用户及用户购买商品信息。示例查询主表是:用户表关联表:由于用户和商品没有直接关联,通过订单和订单明细进行关联,所以关联表:orders、orderdetail、itemssqlSELECT orders.*, user.username, user.sex,
2017-11-12 18:53:04 344
转载 Mybatis学习笔记(十二)【一对多查询】
Contents示例小结本文实现一对多查询,查询订单及订单明细的信息示例sql确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可。SELECT orders.*, user.username, user.sex, user.address, orderdetail.id orderdetai
2017-11-12 18:52:09 357
转载 Mybatis学习笔记(十一)【一对一查询】
ContentsresultType实现resultMap实现resultType和resultMap实现一对一查询小结本文使用两种方式(resultType和resultMap)实现一对一查询,查询订单信息,关联查询创建订单的用户信息resultType实现sql语句确定查询的主表:订单表确定查询的关联表:用户表关联查询使用内连接?还是外连接?由于
2017-11-12 18:49:55 364
转载 Mybatis学习笔记(十)【订单商品数据模型分析】
Contents数据模型分析思路数据模型分析订单商品数据模型建表sql本文对接下来几篇博客中用到的数据模型进行分析,并附上建表sql文件和测试数据文件数据模型分析思路每张表记录的数据内容分模块对每张表记录的内容进行熟悉,相当于你学习系统需求(功能)的过程。每张表重要的字段设置非空字段、外键字段数据库级别表与表之间的关系外键关系表与表
2017-11-12 10:59:56 818
转载 Mybatis学习笔记(九)【动态sql】
Contentsif判断sql片段(重点)foreach标签mybatis核心,对sql语句进行灵活操作,通过表达式进行判断,对sql进行灵活拼接、组装。if判断mapper.xml<!-- 用户信息综合查询 #{userCustom.sex}:取出pojo包装对象中性别值 ${userCustom.username}:取出pojo包装对象中
2017-11-11 19:30:29 539
转载 Mybatis学习笔记(八)【输出映射】
ContentsresultType 输出简单类型输出pojo对象和pojo列表resultMap resultMap使用方法小结本文主要讲解mybatis的输出映射。输出映射有两种方式resultTyperesultMapresultType使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。如
2017-11-11 19:29:52 342
转载 Mybatis学习笔记(七)【输入映射】
Contents传递pojo的包装对象 Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘UserCustom’ in ‘class com.iot.mybatis.po.UserQueryVo’
2017-11-11 19:28:56 348
转载 Mybatis学习笔记(六)【配置文件】
Contentsproperties(属性)settings(全局参数配置)typeAliases(类型别名)typeHandlers(类型处理器)mappers(映射配置)本文主要讲解SqlMapConfig配置文件 参考mybatis – MyBatis 3 | ConfigurationSqlMapConfig.xml中配置的内容和顺序如下prop
2017-11-11 19:27:38 319
转载 Mybatis学习笔记(五)【开发dao方法】
ContentsSqlSession使用范围原始dao开发方法 dao接口dao接口实现类测试代码总结原始dao开发问题mapper代理方法 开发规范代码一些问题总结本文讲解SqlSession,并对两种方法(原始dao开发和mapper代理开发)分别做简单展示SqlSession使用范围SqlSessionFactoryBuilder通过SqlS
2017-11-11 10:58:51 376
转载 Mybatis学习笔记(四)【入门程序二】
Contents映射文件程序代码 Error updating database. Cause: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement ‘test.insertUser!selectKey’. I
2017-11-11 10:57:18 420
转载 Mybatis学习笔记(三)【入门程序一】
Contents工程结构 Global logging configurationConsole output…映射文件程序代码总结mybatis入门程序工程结构在IDEA中新建了一个普通的java项目,新建文件夹lib,加入jar包,工程结构如图。log4j.properties# Global logging configurationlog
2017-11-11 10:55:53 460
转载 Mybatis学习笔记(二)【mybatis概述】
Contentsmybatis 介绍框架原理mybatis框架执行过程mybatis开发dao的方法输入映射和输出映射动态sql本文对mybatis做一个简单介绍,包括框架原理,执行过程,开发方法,输入输出映射以及动态sql,我会在后续的系列文章中一一详细说明mybatis 介绍mybatis是一个持久层的框架,是apache下的顶级项目。mybatis托管到
2017-11-11 10:53:49 452
转载 Mybatis学习笔记(一)【对原生jdbc程序中的问题总结】
Contentsjdbc编程步骤问题总结参考代码本文总结jdbc编程的一般步骤,总结这样编程存在的问题,并附上典型地jdbc示例demojdbc编程步骤加载数据库驱动创建并获取数据库链接创建jdbc statement对象设置sql语句设置sql语句中的参数(使用preparedStatement)通过statement执行sql并获取结果对sql执行结果
2017-11-11 10:06:15 467
转载 JQuery3.1.1源码解读(十九)【ajax】
关于 ajax,东西太多了,我本来想避开 ajax,避而不提,但觉得 ajax 这么多内容,不说实在可惜。写在 jQuery 的 ajax 之前首先,我们还是来了解一下 js 中的 http 请求。http 协议中有请求体和响应体,对于请求的一方,无论是哪一种语言,我比较关心如下几个方面:请求的配置参数包括 url,post/get 等;请求有请求头,那么请求头的参数又该由哪个函数来设置;如何判断请
2017-11-11 10:05:08 2294 1
转载 JQuery3.1.1源码解读(十八)【class】
眼看 jQuery 的源码就快到头了,后面还有几个重要的内容,包括 ajax 和动画操作,加油把它们看完,百度前端学院的新一批课程也开始了。百度前端学院。class 的的操作应该算是比较愉快的,因为内容不是很多,或者说,内容涉及到的原生操作不是很大,就一个 className 或 getAttribute,主要还是来看下它涉及到的一些兼容性操作。class 操作先来说一个比较有趣的 class 操作
2017-11-10 10:24:36 533
转载 JQuery3.1.1源码解读(十七)【css】
样式操作也是 jQuery 比较常用的一个操作,就我本人而言,这个 css 函数用多了,感觉自己有点傻乎乎的,主要还是自己不了解 js 中 css 的真正含义。不过现在不怕了。开始之前,先抛开 jQuery,我们来看看一个有趣的面试题(据说是一道微信面试题)。一道很有深度的面试题用原生的 js 获得一个 HTML 元素的 background-color,当然,这只是一个引入,为什么不是 color
2017-11-10 10:15:49 614
转载 JQuery3.1.1源码解读(十六)【dom-html】
上一章谈到了 dom 的几个插入操作,虽然插入的方式多种多样,但只要在懂了原生方法等基础上,代码看起来都不是很复杂。比较有意思的一个函数就是 buildFragment 方法,用来将 html 字符串转换成 dom 碎片。本章来看一下 dom 的其它方法。html、text 方法说到 elem 的操作,就必然要提一下 elem 的类型。NodeType,一个节点的 nodeType 为 1 表示元素
2017-11-10 10:13:45 624
转载 JQuery3.1.1源码解读(十五)【dom-domManip】
可能你会觉得这个名字很奇怪这个名字很奇怪,为什么叫做 domManip,即所谓的 dom 微操作。其实在 jQuery 中有很多重要的 dom 操作,这些操作使用的频率都非常高,不过这些操作普遍有一个特点,就是需要进行微调,比如将字符串转换成 elem 元素,判断是否为 script 脚本。所以 jQuery 内部一个统一的做法,就是采用 callbacks 的方式,先对要进行 dom 操作的内部函
2017-11-10 10:12:09 589
转载 JQuery3.1.1源码解读(十四)【event-trigger】
以前,我只知道,只有当对浏览器中的元素进行点击的时候,才会出发 click 事件,其它的事件也一样,需要人为的鼠标操作。后来随着学习的不断深入,才知道原来 JS 可以写函数来控制事件的执行,这样子写代码才有意思。记得很久很久以前一些恶意网站,明明鼠标没有点击,却被网站强行的点击了某个链接,大概实现的方式就是这样的吧。原生事件其实 JS 的原生事件已经做得挺好了,只是 jQuery 将其进行封装,做的
2017-11-10 10:10:05 488
转载 JQuery3.1.1源码解读(十三)【event-on】
通过前面一章对于 addEvent 库的介绍,它的兼容性超级棒,据说对于 IE4、5 都有很好的兼容性,这和 jQuery 的原理是一致的,而在 jQuery 中,有一个对象与其相对于,那就是 event。上上章就已经说过了,这个 jQuery.fn.on这个函数最终是通过 jQuery.event对象的 add 方法来实现功能的,当然,方法不局限于 add,下面就要对这些方法进行详细的介绍。关于
2017-11-10 10:07:10 569
转载 JQuery3.1.1源码解读(十二)【event-extend】
前面一章,大概是一个总览,介绍了事件绑定的初衷和使用,通过了解,知道其内部是一个什么样的流程,从哪个函数到哪个函数。无论 jQuery 的源码简单或者复杂,有一点可以肯定,jQuery 致力于解决浏览器的兼容问题,最终是服务于使用者。一些遗留问题前面介绍 bind、delegate 和它们的 un 方法的时候,经提醒,忘记提到一些内容,却是我们经常使用的。比如 $('body').click,$('
2017-11-10 09:24:37 420
转载 JQuery3.1.1源码解读(十一)【event-main】
这次的内容是来介绍关于 jQuery 的事件委托。不过在之前呢有必要先来了解一下 JS 中的事件委托与冒泡,我之前也写过类似的博客,事件冒泡与捕获由 JS 事件引入事件是 JS DOM 中极具活力的内容,你可以随时监听 DOM 的变化,并对它们及时的做出反应,如果你不是太懂 JS 中的事件,建议你先去看一些相关介绍的文章,直接看 jQuery 中的事件委托头会头大的。事件的处理顺序由两个环节,一个是
2017-11-10 09:21:30 509
转载 JQuery3.1.1源码解读(十)【hooks】
hooks 在英语中的意思表示钩子或挂钩,在 jQuery 中也有 hooks 这么一个概念,它的功能在考虑到一些兼容性和其它特殊情况的条件下,优先考虑这些特殊情况,而后才去用普通的方法处理,这种说法还是比较形象的。hooks 的使用非常用技术含量,可以支撑在原来的基础上扩展,而对于接口则无需改变,举个例子,像 fn.css() 这个函数我们都是非常熟悉的了,拿来就用,而不需要考虑浏览器的兼容性,这
2017-11-10 09:16:34 438
转载 JQuery3.1.1源码解读(九)【prevObject】
学习了 prevObject 之后发现,我之前写的一篇博客介绍 pushStack 函数那个内容是有问题的。本来我以为这个 pushStack 函数就是一个普通的函数,它接受一个 DOM (数组)参数,把该参数合并到一个 jQuery 对象中并返回该 jQuery 对象。后来我也疑惑过一段时间,为什么看不到这个函数的使用,而且为什么要把它放到 jQuery.fn 上,直到今天,才恍然大悟。jQuer
2017-11-10 09:10:16 2911
转载 JQuery3.1.1源码解读(八)【Data】
不打算介绍 deferred,或者放到后面以后去介绍,因为我对于 js 的异步存在着恐惧,看了半天代码,发现,用挺好用的,一看源码,全傻眼了。数据缓存jQuery 最初以便捷 DOM 操作而流行,而 DOM 的本质其实就是对象,开发者们又习惯性的将一些标志直接扔给 DOM 本事,这会带来内存泄漏的问题。比如对于斐波那契数列,有人说用递归,用迭代,如果用 js 来写的话有一个比较有意思的方法,就是用缓
2017-11-09 11:42:13 463
转载 JQuery3.1.1源码解读(七)【Callbacks】
讲真,Sizzle 的源码真的太压抑了,以至于写 Sizzle 文章的这段时间里都非常的痛苦,刚开始觉得它还挺有意思的,越到后面越觉得代码很难读懂,烦。寒假也过完了,在家里待了两周的时间,感觉不错,这期间学习的事情都抛在脑后,学得非常少,把 cctv 的《中国通史》系列节目给看完了,对于历史迷的我来说,也算是一种心安吧。今天的主题不在时 Sizzle,停顿了两周,感觉清醒了很多,之前被 Sizzle
2017-11-09 11:32:54 398
转载 JQuery3.1.1源码解读(六)【compile】
compile讲了这么久的 Sizzle,总感觉差了那么一口气,对于一个 selector,我们把它生成 tokens,进行优化,优化的步骤包括去头和生成 seed 集合。对于这些种子集合,我们知道最后的匹配结果是来自于集合中的一部分,似乎接下来的任务也已经明确:对种子进行过滤(或者称其为匹配)。匹配的过程其实很简单,就是对 DOM 元素进行判断,而且弱是那种一代关系(>)或临近兄弟关系(+),不满
2017-11-09 11:29:11 518
转载 JQuery3.1.1源码解读(五)【select 函数】
select 函数前面已经介绍了 tokensize 函数的功能,已经生成了一个 tokens 数组,而且对它的组成我们也做了介绍,下面就是介绍对这个 tokens 数组如何处理。DOM 元素之间的连接关系大概有 > + ~ 几种,包括空格,而 tokens 数组中是 type 是有 tag、attr 和连接符之分的,区分它们 Sizzle 也是有一套规则的,比如上一章我们所讲的 Expr 对象,它
2017-11-09 11:26:24 440
转载 JQuery3.1.1源码解读(四)【Tokens 词法分析】
Tokens 词法分析其实词法分析是汇编里面提到的词汇,把它用到这里感觉略有不合适,但 Sizzle 中的 tokensize函数干的就是词法分析的活。上一章我们已经讲到了 Sizzle 的用法,实际上就是 jQuery.find 函数,只不过还涉及到 jQuery.fn.find。jQuery.find 函数考虑的很周到,对于处理 #id、.class 和 TagName 的情况,都比较简单,通过
2017-11-09 11:16:45 624
转载 JQuery3.1.1源码解读(三)【Sizzle 选择器】
Sizzle 选择器Sizzle 原本是 jQuery 中用来当作 DOM 选择器的,后来被 John Resig 单独分离出去,成为一个单独的项目,可以直接导入到项目中使用。本来我们使用 jQuery 当作选择器,选定一些 #id 或 .class,使用 document.getElementById 或 document.getElemensByClassName 就可以很快锁定 DOM 所在的
2017-11-09 11:15:13 570
转载 JQuery3.1.1源码解读(二)【init构造器】
init 构造器前面一讲[总体架构]已经介绍了 jQuery 的基本情况,这一章主要来介绍 jQuery 的入口函数 jQuery.fn.init。由于这个函数直接和 jQuery() 的参数有关,先来说下能接受什么样的参数。源码中接受 3 个参数:init: function (selector, context, root) { ...}jQuery(),空参数,这个会直接返回一个空的 j
2017-11-09 10:58:12 661
转载 JQuery3.1.1源码解读(一)【jQuery总体架构】
jQuery 总体架构首先,jQuery 是一个开发框架,它的火爆程度已经无法用言语来形容,当你随便打开一个网站,一半以上直接使用了 jQuery。或许,早几年,一个前端工程师,只要会写 jQuery,就可以无忧工作。虽说最近 react、vue 很火,但 jQuery 中许多精彩的方法和逻辑值得每一个前端人员学习。和其众多的框架一样,总要把接口放到外面来调用,内部往往是一个闭包,避免环境变量的污染
2017-11-09 10:51:22 902
转载 ExtJs6学习(五)【Extjs MVC开发模式详解】
Extjs MVC开发模式详解原文链接简介在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题。Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使得大规模JS代码变得更加易于重用和维护;这就是Extjs M
2017-11-09 09:24:34 2884
转载 ExtJs6学习(五)【ExtJs布局】
ExtJs布局1. Auto 默认布局 Auto布局是ExtJs的默认布局,当我们不指定任何layout的时候,用Auto Layout来组织子元素。Ext.onReady(function() { var childPnl1 = { frame : true, height : 50, html : 'My First Child Panel', t
2017-11-08 16:30:34 1417
转载 ExtJs6学习(四)【组件和容器】
组件和容器组件模型XType和ComponentManagerXType定义:XType是一个纯JavaScript对象,包含一个xtype属性,属性的值是一个字符串,标识该XType对应的类。作用:Xtype允许组件延迟实例化,加速复杂用户界面的类的实例化,并大大提高代码的整洁度。ComponentManager定义:ExtJs系统会自动将部件的XType注册到ComponentMana
2017-11-08 16:20:18 1154
转载 ExtJs6学习(三)【DOM操作】
DOM操作 这篇文章是来自于《ExtJS in Action》的总结。用ExtJs启动代码过去初始化JavaScript代码是为加载的HTML页面的body标签添加onLoad()方法,虽然这种调用JavaScript的方法可行,但是对于启用Ajax的web2.0网站和应用来说并不理想,因为onLoad()在不同浏览器上触发的时间不一样。ExtJs采用 Ext.onReady 来解决触发问题,
2017-11-08 16:14:48 886
转载 ExtJs6学习(二)【环境介绍,构建程序】
环境介绍Sencha Cmd简介Sencha Cmd是一个跨平台的命令工具,从你的应用程序的新创建到部署入产品中的整个生命周期都提供了许多自动化的执行任务。兼容性ExtJs6需要在Sencha Cmd的环境下运行。对于旧版本来说有些低级命令也可以使用。安装需要extjs-6.2.0 正式版下载JRE Sencha Cmd需要Java的运行环境。Sencha Cmd6需要JRE 1.8版本以上的支
2017-11-08 16:07:32 809
转载 ExtJs6学习(一)【ExtJs介绍】
ExtJs介绍原文链接什么是ExtJsExtJs是一个流行的JavaScript框架,它为使用跨浏览器功能构建Web应用程序提供了丰富的UI。 ExtJs基本上用于创建桌面应用程序它支持所有现代浏览器,如IE6 +,FF,Chrome,safari 6+ 等。而sencha,sencha touch的另一个产品用于移动应用程序。ExtJs基于MVC / MVVM架构。最新版本的ExtJs 6是一个
2017-11-08 15:53:17 1748 1
转载 Python WSGI 中文版
PEP 333 - Python Web Server Gateway Interface v1.0 中文版============ 翻译自 Python Web Server Gateway Interface v1.0 PEP 333 - Python Web Server Gateway Interface v1.0译者的话 Python基础学完后,免不了要深入到Python的主流
2017-11-08 15:32:27 961
转载 MySQL学习(五)【MySQL运维实践】
5.1-MySQL日志系统什么是日志日志(log)是一种顺序记录事件流水的文件记录计算机程序运行过程中发生了什么多种多样的用途 帮助分析程序问题分析服务请求的特征、流量等判断工作是否成功执行等等……MySQL日志的分类服务器日志 记录进程启动运行过程中的特殊事件,帮助分析MySQL服务遇到的问题根据需求抓取特定的SQL语句,追踪性能可能存在的问题的业务SQL事务日志 记录应
2017-11-08 09:23:29 3866
Quill.js TextEditor.zip
2020-11-14
fund_sharp.zip
2020-09-17
webplayer.zip
2020-08-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人