- 浏览: 487661 次
- 性别:
- 来自: 深圳
最新评论
-
mrluo735:
明显不对,INOUT参数也可以有多个!
MyBatis 3 中使用存储过程 -
qitianhuoshen:
问一下 如果 配合 datatables的 searchval ...
MyBatis 3 中使用存储过程 -
zhanggang807:
”这就是累积,不会被清理“ 这个例子解决了我疑惑很久的问题
NIO - 使用选择器 -
lIO01:
你能不能别用自己照片当头像?
Spring MVC 中的基于注解的 Controller -
xuxiaoyinliu:
Spring MVC 中的 forward 和 redirect
文章列表
Mybats 是 iBatis 被 Google 收购后重新命名的一个工程,当然也做了大量的升级。iBatis 2.x 调用存储过程有一个专门的标签 <procedure>,在 Mybats 3.x 里面已经没有这个标签了,而是通过一个参数 statementType="CALLABLE" 来区分。
存储过程有三种类型的参数,分别为 IN(输入参数),OUT(输出参数),INOUT(输入输出参数)。一个存储过程,可以有多个 IN 参数,至多有一个 OUT 或 INOUT 参数。
◇ 只有 IN 参数的存储过程
CRE ...
Spring MVC 中,我们在返回逻辑视图时,框架会通过 viewResolver 来解析得到具体的 View,然后向浏览器渲染。假设逻辑视图名为 hello,通过配置,我们配置某个 ViewResolver 如下:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<description>
假如逻辑试图名为 "hello",因此 viewResolver 将解析成 /WEB-INF/js ...
Spring MVC 中的核心 servlet - DispatcherServlet,我们在 web.xml 文件中通常这样定义:
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocati ...
该篇文章讨论到是 linux 版的 node 的安装。如果 linux 发行版是 redhat,应该不存在找不到 C++ 编译器到问题,在公司的 linux 机器安装 node 很顺畅,但是在 ubuntu 上安装就没有那么顺利了。因此,下面将要讲解到安装过程,是基于 ubuntu 环境的。
◇ Ubuntu 环境下安装 node 的前置条件:安装 C++ 编译器和 OpenSSL
# 安装 C++ 编译器
[root@localhost ~]# sudo apt-get install build-essential
[root@localhost ~]# s ...
打开 /etc/fstab,可以看到如下内容:
[root@localhost ~]# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that wor ...
在 ubuntu 中,若是由于失误,误改了某些配置文件的内容,下次重启时,会一直停在出错的那行,一直进不了系统。当然,最极端的解决方案就是去重装咯。
一种方式是使用 CD 或 USB 引导,进入 “试用 Ubuntu”,然后通过终端还原原来的配置文件,再重启。
另外一种方法是,当启动进入启动画面的时候按 e,编辑第二行,在后面直接加上 init=/bin/bash,然后继续执行,此时,ubuntu 将直接给你 bash。你可以在这个字符界面还原误改的配置文件。
● 在 terminal 中输入命令时,tab 自动补全如何忽略大小写?
修改 ~/.inputrc 文件,如果此文件不存在,请大胆的创建之。
[root@localhost ~]# echo "set completion-ignore-case on" >> ~/.inputrc
● 用户主目录下的桌面,下载,音乐等文件夹,均是中文的,如何变成英文的?
将语言改为英文,然后调用 xdg-user-dirs-gtk-update 来更新用户主文件夹名称。最后再将语言切换中文。
[root@localhost ~]# e ...
在一整块硬盘上安装 ubuntu,并不是一件难事,很容易的。直接按着提示 next 即可,这里也不做详述。本篇文章主要讲述的是 windows 和 ubuntu 共存的情况。
首先介绍下我的硬盘,500G,其中 350G 分给了 windows,剩下的 150G 留给 ubuntu:
/dev/sda1 C:/ 30G
/dev/sda5 D:/ 90G
/dev/sda6 E:/ 80G
/dev/sda7 F:/ 1 ...
有关 gvim 新标签页打开文件的杂谈
- 博客分类:
- 应用技巧
安装完 gvim 后,在要打开的文件上右键,会有一个 "用 Vim 编辑" 的菜单。不幸的是,99.99% 的人会对此菜单不满意。在多标签页这种体验横行于世的年代,若每开一个文件,都在新窗口打开的话,会遭人唾骂的。而 gvim 的右键菜单的功能,就是在新窗口打开文件的。不过 gvim 总算有点良心,它提供了 --remote-tab-silent 参数。下面的几种方式,将会围绕着这个参数而展开讨论。
◇ 利用 sendto
此种方式,在要打开的文件上右键,有一个 "发送到" 的菜单。我们将利用此种方式来达到我们的目 ...
Java 语言有很多运算符,其中位运算符和移位运算符在实际基于业务需求编程时很少用到。但需要用到它们时,却忘记了它们的具体的使用方式。这里就将这两类很容易被忽视的运算符做一个总结。
位运算符有四种:与(&),或(|),非(~),异或(^)。位运算符演示:
与(&):与运算,当两个操作数均为 1 时,结果为 1,否则为 0。如 1100&1010=1000
或(|):或运算,当两个操作数之一为 1 时,结果为 1,否则为 0。如 1100|1010=1110
非(~):非运算,0 变 1,1 变 0。
异或(^):异或运算,当两个 ...
在详细了解 Selector API 之前,你需要知道一点和 Selector 内部工作原理相关的知识。就像在 NIO - 使用选择键 中]探讨的那样,选择器维护着注册过的通道的集合,并且这些注册关系中的任意一个都是封装在 SelectionKey 对象中的。每一个 Selector 对象维护三个键的集合:
public abstract class Selectory {
// This is a partial API listing
public abstract Set keys();
public abstract Set select ...
◇ SelectionKey API
看看 SelectionKey 的相关 API 方法:
package java.nio.channels;
public abstract class SelectionKey {
public static final int OP_READ;
public static final int OP_WRITE;
public static final int OP_CONNECT;
public static final int ...
◇ 选择器、可选择通道和选择键类
实际上,与选择器相关的类的 api 有三个,它们用于执行就绪选择:
选择器(Selector):选择器类管理着一个被注册的通道集合的信息和它们的就绪状态。通道是和选择器一起被注册的,并且使用选择器来更新通道的就绪状态。
可选择通道(SelectableChannel):它是所有支持就绪检查的通道类的父类。FileChannel 对象不是可选择的,因为它没有继承 SelectableChannel。所有 socket 通道都是可选择的,包括从管道(Pipe)对象的中获得的通道。只有 SelectableChanne ...
socket 通道有三个类:SocketChannel、ServerSocketChannel 和 DatagramChannel。请注意:DatagramChannel 和 SocketChannel 实现定义读和写功能的接口,而 ServerSocketChannel 不实现。ServerSocketChannel 负责监听传入的连接和创建新的 SocketChannel对象,它本身从不传输数据。
全部 socket 通道类在被实例化时都会创建一个对等 socket 对象。这些是我们所熟悉的来自 java.net 的类(Socket、ServerSocket ...
nginx 作为 gitweb 的服务器
- 博客分类:
- Nginx
最近在研习 git,并使用 gitolite 来架设 git 服务。同时又想在浏览器中能够以只读的方式查看有哪些版本库。于是就想到用 gitweb,可是 gitweb 是用 cgi 脚本写的,相对于 apache,我更熟悉并喜欢用 ngingx。
在 让 Nginx 支持 cgi 这篇文章中,我已详细描述了怎样让 nginx 支持 cgi,下面将直接进入主题。
git 我们安装在 /usr/local/git 下,而且我们是通过源码来安装 git 的。因此,gitweb 也因此已经安装好了。基于 git 的安装位置,那么 gitweb 安装在 ...