擅长Android ,J2EE开发 博客园地址:http://www.cnblogs.com/androidsuperman/p/7834762.html github地址: https://github.com/soyoungboy
调用函数&存储过程 /** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connection connection = null; ...
Apache—DBUtils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。
JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet、beans)中建立数据库连接。 进行sql操作 断开数据库连接。 这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。
批量处理JDBC语句提高处理速度 当需要成批插入或者更新记录时。可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率JDBC的批量处理语句包括下面两个方法: addBatch(String):添加需要批量处理的SQL语句或是参数; exe...
数据库事务 在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态。为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。
Oracle LOB LOB,即Large Objects(大对象),是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储可多达4GB的数据)。LOB 分为两种类型:内部LOB和外部LOB。
DAO:Date Access Object 实现代码模块化,更加有利于代码的维护和升级。 DAO 可以被子类继承或者直接使用。 访问数据信息的类,包含对数据的CRUD(create read update delete),而不包含任何业务相关信息。
先利用 SQL 进行查询,得到结果集; 利用反射创建实体类的对象:创建对象; 获取结果集的列的别名; 再获取结果集的每一列的值, 结合 3 得到一个 Map,键:列的别名,值:列的值; 再利用反射为 2 的对应的属性赋值:属性即为 Map 的键,值即为 Map 的值。
可以通过调用 Connection 对象的 preparedStatement() 方法获取 PreparedStatement 对象。PreparedStatement 接口是 Statement 的子接口,它表示一条预编译过的 SQL 语句。
ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果. 1. 调用 Statement 对象的 executeQuery(sql) 可以得到结果集。 2. ResultSet 返回的实际上就是一张数据表. 有一个指针指向数据表的第一样的前面.可以调用 next() 方法检测下一行是否有效. 若有效该方法返回 true, 且指针下移. 相当于Iterator 对象的 hasNext() 和 next() 方法的结合体。
通过 JDBC 向指定的数据表中插入一条记录. 1. Statement: 用于执行 SQL 语句的对象 1). 通过 Connection 的 createStatement() 方法来获取 2). 通过 executeUpdate(sql) 可以执行 SQL 语句. 3). 传入的 SQL 可以是 INSRET, UPDATE 或 DELETE. 但不能是 SELECT 2. Connection、Statement 都是应用程序和数据库服务器的连接资源. 使用后一定要关闭。
数据持久化 持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。
条件Hack 语法: if条件共包含6种选择方式:是否、大于、大于或等于、小于、小于或等于、非指定版本 是否: 指定是否IE或IE某个版本。关键字:空 大于: 选择大于指定版本的IE版本。
在IE6中对图片格式png24支持度不高,如果使用的图片格式是png24,则会导致透明效果无法正常显示 解决方法: 1.可以使用png8来代替png24,即可解决问题,但是使用png8代替png24以后,图片的清晰图会有所下降; 2.使用JavaScript来解决该问题,需要向页面中引入一个外部的JavaScript文件,然后在写一下简单的JS代码,来处理该问题。
框架集和内联框架的作用类似,都是用于在一个页面中引入其他的外部的页面,框架集可以同时引入多个页面,而内联框架只能引入一个,在h5标准中,推荐使用框架集,而不使用内联框架。使用frameset来创建一个框架集,注意frameset不能和body出现在同一个页面中,所以要使用框架集,页面中就不可以使用body标签。
字符串的遍历器接口: 字符串可以被for...of循环遍历。 DOCTYPE html> for (let codePoint of 'foo') { console.log(codePoint) } 这个遍历器最大的优点是可以识别大于0xFFFF的码点,传统的for循环无法识别这样的码点。
模式匹配:只要等号两边的模式相同,左边的变量就会被赋予对应的值。 let [a, b, c] = [1, 2, 3]; 嵌套数组进行解构: let [foo, [[bar], baz]] = [1, [[2], 3]]; foo // 1 bar // 2 baz // 3 let [ , ...
表单的作用就是用来将用户信息提交给服务器的,比如:百度的搜索框 注册 登录这些操作都需要填写表单。 使用form标签创建一个表单,form标签中必须指定一个action属性,该属性指向的是一个服务器的地址,当我们提交表单时将会提交到action属性对应的地址。
ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。 for (let i = 0; i
赋值运算符应用错误 在 JavaScript 程序中如果你在 if 条件语句中使用赋值运算符的等号 (=) 将会产生一个错误结果, 正确的方法是使用比较运算符的两个等号 (==)。 比较运算符常见错误 在严格的比较运算中,=== 为恒等计算符,同时检查表达式的值与类型。
try 语句测试代码块的错误。 catch 语句处理错误。 throw 语句创建自定义错误。 很想java哦。 DOCTYPE html> JavaScript异常处理 请输出一个 5 到 10 之间的数字: ...
语法: /正则表达式主体/修饰符(可选) 使用字符串方法 在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。 search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
background 在一个声明中设置所有的背景属性。 background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动。 background-color 设置元素的背景颜色。
层级 如果定位元素的层级是一样,则下边的元素会盖住上边的。 通过z-index属性可以用来设置元素的层级,可以为z-index指定一个正整数作为值,该值将会作为当前元素的层级,层级越高,越优先显示。
Number() 转换为数字, String() 转换为字符串, Boolean() 转化为布尔值。 JavaScript 数据类型 在 JavaScript 中有 5 种不同的数据类型: string number boolean object function 3 种对象类型: Object Date Array 2 个不包含任何值的数据类型: null undefined typeof 操作符 你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。
typeof 操作符 你可以使用 typeof 操作符来检测变量的数据类型。 Null 在 JavaScript 中 null 表示 "什么都没有"。 null是一个只有一个值的特殊类型。表示一个空对象引用。
break 语句用于跳出循环。 continue 用于跳过循环中的一个迭代。 标签引用,break 语句可用于跳出任何 JavaScript 代码块。 demo: DOCTYPE html> break Continue语句 点击按钮,测试带有 break Continue 语句的循环。
JavaScript 支持不同类型的循环: for - 循环代码块一定的次数 for/in - 循环遍历对象的属性 while - 当指定的条件为 true 时循环指定的代码块 do/while - 同样当指定的条件为 true 时循环指定的代码块 For 循环 for 循环是您在希望创建循环时常会用到的工具。
条件语句 通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。 在 JavaScript 中,我们可使用以下条件语句: if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if.
相对定位 - 定位指的就是将指定的元素摆放到页面的任意位置,通过定位可以任意的摆放元素。 - 通过position属性来设置元素的定位。 -可选值: static:默认值,元素没有开启定位; relative:开启元素的相对定位; absolute:开启元素的绝对定位; fixed:开启元素的固定定位(也是绝对定位的一种)。
在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。 但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。
块元素在文档流中默认垂直排列,所以这个三个div自上至下依次排开,如果希望块元素在页面中水平排列,可以使块元素脱离文档流。 使用float来使元素浮动,从而脱离文档流 可选值: none,默认值,元素默认在文档流中排列。
文档流 文档流处在网页的最底层,它表示的是一个页面中的位置, 我们所创建的元素默认都处在文档流中 元素在文档流中的特点 块元素 块元素在文档流中会独占一行,块元素会自上向下排列。
子元素默认是存在于父元素的内容区中,理论上讲子元素的最大可以等于父元素内容区大小。如果子元素的大小超过了父元素的内容区,则超过的大小会在父元素以外的位置显示,超出父元素的内容,我们称为溢出的内容。父元素默认是将溢出内容,在父元素外边显示,通过overflow可以设置父元素如何处理溢出内容:可选值:visible,默认值,不会对溢出内容做处理,元素会在父元素以外的位置显示。
display 将一个内联元素变成块元素,通过display样式可以修改元素的类型。可选值: 1 inline:可以将一个元素作为内联元素显示。 2 block: 可以将一个元素设置块元素显示。 3 inline-block:将一个元素转换为行内块元素。
内联元素不能设置width和height; 设置水平内边距,内联元素可以设置水平方向的内边距:padding-left,padding-right; 垂直方向内边距,内联元素可以设置垂直方向内边距,但是不会影响页面的布局; 为元素设置边框,内联元素可以设置边框,但是垂直的边框不会影响到页面的布局; 水平外边距内联元素支持水平方向的外边距; 内联元素不支持垂直外边距; 为右边的元素设置一个左外边距,水平方向的相邻外边距不会重叠,而是求和。
覆盖equb时请遵循通用约定: 自反性。对于任何非null的引用值x,xequals(x)必须返回true。 对称性。对于任何非null的引用值x和y,当且晋档y.equals(x)返回true的时候,x.equals(y)必须返回true。
静态工厂方法代替构造器 可以返回原返回类型的任何子类型对象; 不必每次调用他们的时候都去创建一个对象; 有名称; 创建参数化类型实例的时候,使得代码更加简洁。 静态工厂方法的缺点: 如果不含公有的或者受保护的构造器,就 不能被子类实例化; 与其他的静态方法实际上没有任何区别。
浏览器为了在页面中没有样式时,也可以有一个比较好的显示效果, 所以为很多的元素都设置了一些默认的margin和padding,而它的这些默认样式,正常情况下我们是不需要使用的。 所以我们往往在编写样式之前需要将浏览器中的默认的margin和padding统统的去掉。
框模型: CSS处理网页时,它认为每个元素都包含在一个不可见的盒子里。 为什么要想象成盒子呢?因为如果把所有的元素都想象成盒子,那么我们对网页的布局就相当于是摆放盒子。我们只需要将相应的盒子摆放到网页中相应的位置即可完成网页的布局。
text-transform可以用来设置文本的大小写 可选值: none 默认值,该怎么显示就怎么显示,不做任何处理 capitalize 单词的首字母大写,通过空格来识别单词 uppercase 所有的字母都大写 lowercase 所有的字母都小写 text-d...
在CSS并没有为我们提供一个直接设置行间距的方式,我们只能通过设置行高来间接的设置行间距,行高越大行间距越大。使用line-height来设置行高 。行高类似于我们上学单线本,单线本是一行一行,线与线之间的距离就是行高,网页中的文字实际上也是写在一个看不见的线中的,而文字会默认在行高中垂直居中显示。
font-style可以用来设置文字的斜体 - 可选值: normal,默认值,文字正常显示 italic 文字会以斜体显示 oblique 文字会以倾斜的效果显示 - 大部分浏览器都不会对倾斜和斜体做区分,也就是说我们设置italic和oblique它们的效果往往是一样的 - 一...
在网页中将字体分成5大类: serif(衬线字体) sans-serif(非衬线字体) monospace (等宽字体) cursive (草书字体) fantasy (虚幻字体) 可以将字体设置为这些大的分类,当设置为大的分类以后,浏览器会自动选择指定的字体并应用样式。
设置字体颜色,使用color来设置文字的颜色 设置文字的大小,浏览器中一般默认的文字大小都是16pxfont-size设置的并不是文字本身的大小,在页面中,每个文字都是处在一个看不见的框中的我们设置的font-size实际上是设置格的高度,并不是字体的大小一般情况下文字都要比这个格要小一些,也有时会比格大,根据字体的不同,显示效果也不能。
颜色单位: 在CSS可以直接使用颜色的单词来表示不同的颜色 红色:red 蓝色:blue 绿色:green 也可以使用RGB值来表示不同的颜色 - 所谓的RGB值指的是通过Red Green Blue三元色,通过这三种颜色的不同的浓度,来表示出不同的颜色。
长度单位 像素 px - 像素是我们在网页中使用的最多的一个单位, 一个像素就相当于我们屏幕中的一个小点,我们的屏幕实际上就是由这些像素点构成的但是这些像素点,是不能直接看见。 - 不同显示器一个像素的大小也不相同,显示效果越好越清晰,像素就越小,反之像素越大。
定义列表用来对一些词汇或内容进行定义 使用dl来创建一个定义列表 dl中有两个子标签 dt : 被定义的内容 dd : 对定义内容的描述 同样dl和ul和ol之间都可以互相嵌套 DOCTYPE html> ...
列表就相当于去超市购物时的那个购物清单, 在HTML也可以创建列表,在网页中一共有三种列表: 1.无序列表 2.有序列表 3.定义列表 无序列表 - 使用ul标签来创建一个无序列表 - 使用li在ul中创建一个一个的列表项, 一个li就是一个列表项...
读取键盘输入 # !/usr/bin/python # -*- coding: UTF-8 -*- s = raw_input("请输入内容:") print "输入的内容是 = " + s 结果: 请输入内容:I Love John 输入的内容是 = I Love John 打开和关闭文件 你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。