这篇文章用于总结hibernate操作数据库的各种方法一、query方式1、hibernate使用原生态的sql语句执行数据库查询有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错误,就猜测因为不是原生态的sql语句,数据库不支持,因此情愿选择回到jdbc时代。这样既耗时耗力,又破坏面向对象的编程。其实,hibernate已经考虑到这个问题,hibernate可以执行原生态的sql语句,正对每种数据库,你可以写对应的sql语句,然后用createSQLQuery(sql)即可。 /** * 本地sql的检索方式,使用原生态的sql语句检索 * */ Session s...
自己写的框架,功能类似Struts2.x 下载地址:http://pan.baidu.com/share/link?shareid=3273223286&uk=470382596新增功能:1、Action支持输出JSON、XML、TEXT2、新增文件上传封装直接用File 类型的字段来接收文件,就可以进行操作,框架运行时,会在服务器创建一个tmp文件夹用来存放临时的文件。3、优化Action管理器4、优化处理逻辑 具体例子和源码都在下载连接中。
数据链路层需要将位组合成帧,并使帧之间是可识别的。在数据链路层中,通过添加发送放地址和接收方地址,成帧将一条从源端到目的端的报文分离开来,或者将到不同目的端的报文分离开来。目的方地址定义了分组要去的地方,而发送方地址帮助接收方确认接收。帧可以分为固定长度成帧和可变长度成帧。1.固定长度成帧不需要定义帧的边界,长度本身可以用作分隔符,这种成帧类型的一个例子就是ATM广域网,它使用称为信元的固定长度帧。2.可变长度成帧可变长度成帧通过在帧的开头和结尾添加标记来一个帧与下一个帧分离开来,主要有面向字符的方式和面向位的方式。2.1面向字符协议面向字符协议通过在帧的开头和结尾增加8位(1个字节)的标记,
1.场景模式考虑这样一个实际应用:订单处理系统 里面有一个保存订单的功能,当产品数量超过1000份以后,拆成两份订单,再超,那么就再拆。直到每份订单不超过1000为止,订单有两种,一个是个人订单,一个是公司订单,现在需要实现一个通用的订单处理系统。 2.场景模式代码(代码很简单,不一一讲解了)package demo08.prototype.example1;/** * 订单的接口 */public interface OrderApi { /** * 获取订单产品数量 * * @return 订单中产品数量 */ public int getOrderProductNum(); ...
默认情况下,option的宽度会由options中最宽的元素决定,并且同时决定着select控件的宽度 在Yii中,如果需要自定义select控件的宽度,可以用 htmlOptions定义,如下: '-- 全 部 --', 'style'=>'width:200px;') );?> 如果要自定义option的宽度,就没办法了,只能写CSS来定义。
一开始不是很理解,查了半天资料,终于找到解决方法,但是有部分中文还是不能打印出来,如 会出现部分的中文,一开始都是问号的解决方法是 点击高级保存选项 设置成Unicode(UTF-8无签名) 这样就可以打印中文了
package mongoDB; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mon...
在Gallery下,里面内容过长超出屏幕,这时我们可以用ScrollView来滚动,但是这样做了以后,会发现一个问题,Gallery的滑动事件和ScrollView的滑动事件起冲突,这时我们可以自定义Gallery控件来避免这个问题:下面贴出代码:import android.content.Context;import android.util.AttributeSet;import android.view.KeyEvent;import android.view.MotionEvent;import android.widget.Gallery;public class TestGall
SUBSTR( ) 从一个字符表达式或备注字段中返回一个字符串。该字符串起始于字符表达式或备注字段的指定位置,到指定数目字符结束。例如:SUBSTR(“A1”, 1 1]) 结果:A
流量控制是数据链路层的一项重要的职能,它在接收确认前协调发送的数据数量。在大多数协议中,流量控制是一系列程序,告知发送方在等到来自接收方的确认之前它能传输多少数据,任何接收设备都有处理进入数据的速度限制和存储进入数据的容量限制。接收设备必须能够在达到这些限制前提示发送设备,并要求传输设备发送的帧少一些或者暂时停止发送。进入的数据必须进过校验和处理才能使用。这些过程通常比传输速度慢。因此,每个接收设备都有一块存储区,称之为缓冲区,存储进入的数据直到他们被处理。如果缓冲区也装满了,接收方必须能告知发送方停止传输直到它能够再次接收为止。下一篇在介绍数据链路层协议时会介绍窗口机制,就是用于流量控制。
在90年代Linux和DOS共存的年代里,Linux的Shell们有一个最微不足道但也最实用的小功能,就是命令自动补全。而DOS那个笨蛋一直到死都没学会什么叫易用。Linux的这个微不足道的小传统一直延续至今。虽然看似微不足道,其实也极大的提高了管理员的输入效率和准确性。 如果需要在自己的脚本中实现自动补全的功能,只需要编写类似下面的一个脚本,每次用户登录后source下就可以了。这个示例是公司的通道机上,可以根据名称来登录相关的服务器,但是服务器名称又长又难记,每次输入都很麻烦。于是有了这个自动补全脚本:tongdaoji() { local cur prev opts COMP...
所需软件1.Eclipse IDE for C/C++ Developershttp://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr22.MinGW Distro - nuwen.nethttp://nuwen.net/mingw.html MinGW配置 1.解压MinGW到C盘 得到C:\MinGW 2.配置环境变量 CPLUS_INCLUDE_PATH C:\MinGW\include\c++\4.8.1;C:\MinGW\include\c++\4.8.1\i686...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号