2011年2月9日

有点乱,还需要整理

1.常见OR框架:
hibernate的3种状态  ID生成策略

2.helloword小程序

clent—》app server -》strus—》action—》service—》DAO—》model—》DB

3.面向接口编程

4.把一个对象存到数据库,怎么做呢?
首先实例化对象,链接数据库,通过sql语句将对象插入到数据库。sql语句不是面向对象的语言。

5.通过hibernate将对象插入到数据库:
可以通过几个类打交道:Configuration、SessionFactory、Session(java里面的)、然后对象调用Session的save方法,就可以将对象插入到数据库了。而不用通过sql语句,这种方式是面向对象的。sql语句已经被Hibernate取代了。把对象持久化到数据库。


6.学hibernate风格
  先脉络,后细节
  先操作,后原理
  重Annotation,轻xml配置文件。


Annotation又分两种:JPA的Annotation 和 Hibernate-extention。前者是重点。


添加.jar包,

通常是:Build Path->Add External Archives 添加外部扩展.jar包,但是如果有多个.jar包同属于一个项目,例如hibernate有多个.jar包,可以把hibernate的多个包放入一个包中,做法如下:Window->Preferences->java->Build Path->User Libraries(User自定义的librares),然后根据右侧提示操作即可。

Hibernate的包
Hibernate的包在Hibernate的源文件的lib目录下,其中lib目录里面有bytecode、optional和required3个目录,bytecode试试生成二进制字节码所需要的.jar包,optional是可选的包,required是必须的包,我们选择required下的包,全部引进我们的项目包。
建立一个hibernate项目,除了hibernate的.jar包以外,还要与之对应版本的slf4j的.jar包,因为Hibernate的.jar包里面虽然有了slf4j-api-1.5.8.jar这个包,但是这个包只有api,但是并没有具体的实现,还需要引入slf4j项目下的slf4j-nop-1.5.8.jar这个包,这个包定义了slf4j的具体实现。


建立数据库-》建立model类

建立hibernate的配置文件

ddl:数据定义语言,建表语句,hbm:hibernate mapping。hbm2ddl:是否自动生成建表语句。
数据库表名不区分大小写。

posted @ 2011-02-09 23:42 yansj1997 阅读(400) | 评论 (0)编辑 收藏


2010年11月23日

1.首先解决汉化问题
  如果从Adobe Dreamweaver CS5的官网上下载了一个Adobe Dreamweaver CS5,那么Adobe Dreamweaver CS5默认你是英文版的,我们中国人还是比较习惯看汉字的。我英文不好,还是看汉字比较习惯,虽然看Adobe Dreamweaver CS5的英文提示没什么问题。
要解决汉化问题其实很简单,只要下载一个中文语言包放在Adobe Dreamweaver CS5的安装目录下,然后将英文的语言包改个名字或者干脆直接删掉就可以了。
2.jQuery API使用方法
首先从网上下载一个jquery的api(我给提供了),解压后把shared、Extensions、codehints三个文件夹复制到
WinXP:C:\Documents and Settings\Administrator\Application Data\Adobe\Dreamweaver CS5\zh_CN\Configuration
win7:C:\Users\Administrator\AppData\Roaming\Adobe\Dreamweaver CS5\zh_CN\Configuration
重新启动Adobe Dreamweaver CS5即可。我从网上查了些资料,说不用重新启动Adobe Dreamweaver CS5,但是我这没启动前没有效果,重新启动了下就可以自动提示了。



语言包太大了,传不上来,可以到其他的网站下载。
http://www.blogjava.net/Files/yansj1997/jqueryAPI.rar

posted @ 2010-11-23 14:30 yansj1997 阅读(266) | 评论 (0)编辑 收藏


2010年11月21日

一个项目组有多个人进行开发一个项目,那么对项目的版本进行科学、合理的管理是每个Project Manager应该做好的一件事,其中版本控制常用的有CVS和SVN。但是近几年来CVS有下降的趋势,逐步被SVN取代。
SVN一个最为重要的作用就是版本控制,除此之外还有许多功能。如过程管理,访问权限的设定等等。SVN有服务器端和客户端两个文件,可以从http://tortoisesvn.net/downloads/ 和 http://subversion.apache.org/packages.html 选择适合自己的版本下载。

posted @ 2010-11-21 23:23 yansj1997 阅读(163) | 评论 (0)编辑 收藏


2010年11月13日

代码要能运行;
顺着一条线读进去;

posted @ 2010-11-13 16:16 yansj1997 阅读(148) | 评论 (0)编辑 收藏


2010年10月12日

  • NaN:不是数。当对不适当的数据进行数学运算时使用,例如字符串或未定义值;
  • 正无穷大:在javascript中如果一个正整数太大的时候使用;
  • 负无穷大:在javascript中如果一个负整数太大的时候使用;
  • 正0和负0:在javascript中区分正0和负0。

posted @ 2010-10-12 10:53 yansj1997 阅读(153) | 评论 (0)编辑 收藏


2010年10月11日

要学习javascript,那么首先就要认识javascript。因为人们经常说的是js,简称,这是一个习惯的叫法,那么常说的js是javascript吗?因为还有一种和javascript极为相似的语言——jscript。
其实在这个问题上不用那么较真,我们首先了解一下javascript和jscript的来源,就很多问题不用说都明白了。
javascript是一种由NetScape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言的遗留的速度问题,为客户提供更流畅的浏览效果。为了迎接javascipt带来的技术挑战,Microsoft推出了jscript。javascript和jscript都遵循ECMA标准,两者都属于ECMAScript实现,两者在功能上基本上都是一样的,至于很细的细节不是一两句话能说的清的,我也在学习中。
我们在写程序的时候一般都写<script language="javascript"></script>而不是写<script language="jscript"></script>,因为javascript是通用的名称,所有的浏览器都可以识别,而jscript只有IE可以识别,其他的浏览器识别不了。
那么现在我可以说了,js=javascript,而javascript和jscript在功能上的实现几乎是相同的,至于有没有什么不同,这需要我们在实践中共同探索发现。

posted @ 2010-10-11 22:39 yansj1997 阅读(159) | 评论 (0)编辑 收藏


2010年9月19日

java中的数据类型有基本数据类型和对象类型,相应的变量也有基本类型的变量和引用类型变量。基本的数据类型比较简单,有8中,分别为:boolean、byte、char、short、int、float、double、long,这些基本的数据类型呢比较简单,都很容易理解,它们都是一些普通的字符、数字,或者是一个表示真假的true or false,可是引用类型的值呢?引用类型的值是指向内存引用空间的引用,就是对应内存地址的一个引用,其所指向的内存中保存着变量所表示的一个或一组值。说白了,引用类型的值就是其变量所表示的指向内存空间地址的一个引用,值可能是一个,也可能是一组。

posted @ 2010-09-19 23:47 yansj1997 阅读(183) | 评论 (0)编辑 收藏


2010年9月11日

        通过HTML的文件API ,Firefox、Chrome等浏览器已经支持从操作系统直接拖拽文件,并上传到服务器。

        相对于使用了十多年的HTML表单,这是一个革命性的进步。虽然IE的落后让很多开发者还在观望中,但是Gmail邮箱的附件拖拽功

能已经给部分用户带来了极大的方便,而需要大量上传文件的CMS(内容管理系统)也将会从中受益。

        让我们看一下Firefox 是如何使用拖拽上传功能的:
        首先提供一个区域来放置文件Html代码
        <div name="image" id="dropbox" style="min-width:300px;min-height:100px;border:3px dashed silver;"></div> 
        然后监听拖拽过程中的dragenter、dragleave、drop等事件
        Js代码

document.addEventListener("dragenter", function(e){ dropbox.style.borderColor = 'gray';  }, false); 
document.addEventListener("dragleave", function(e){ dropbox.style.borderColor = 'silver';  }, false); 
dropbox.addEventListener("dragenter", function(e){dropbox.style.borderColor = 'gray';  dropbox.style.backgroundColor = 'white';  }, false); 
dropbox.addEventListener("dragleave", function(e){ dropbox.style.backgroundColor = 'transparent';  }, false); 
dropbox.addEventListener("dragenter", function(e){ e.stopPropagation();  e.preventDefault();  }, false); 
dropbox.addEventListener("dragover", function(e){ e.stopPropagation(); e.preventDefault();  }, false); 
dropbox.addEventListener("drop", function(e){e.stopPropagation(); e.preventDefault();  handleFiles(e.dataTransfer.files);  submit.disabled = false;}, false);
其中最主要的是drop事件中用handleFiles()依次处理所有文件
Js代码
handleFiles = function(files) {for (var i = 0; i < files.length; i++) { var file = files[i]; }}

对于图片类型的文件可以直接读取内容,显示预览图

Js代码
if (!file.type.match(/image*/)) { continue; }  
var img = document.createElement("img"); 
img.classList.add("obj"); 
img.file = file; 
preview.appendChild(img);  
var reader = new FileReader(); 
reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img); 
reader.readAsDataURL(file);

 接下来就是核心功能:ajax上传。首先新建一个XHR请求

 js代码
var xhr = new XMLHttpRequest(); 
xhr.open('post', '/file/upload', true);  

监听上传进度和完成事件 
Js代码
xhr.upload.addEventListener("progress", function(e) { 
    if (e.lengthComputable) { 
        var percentage = Math.round((e.loaded * 100) / e.total); 
        img.style.opacity = 1-percentage/100.0; 
    } 
}, false); 
 
xhr.upload.addEventListener("load", function(e){ 
     
}, false);

最后把数据模拟成multipart/form-data的格式上传 

Js代码
xhr.setRequestHeader("Content-Type", "multipart/form-data, boundary="+boundary); // simulate a file MIME POST request.  
xhr.setRequestHeader("Content-Length", fileSize);   
var body = ''; 
body += "--" + boundary + "\r\n"; 
body += "Content-Disposition: form-data; name=\""+dropbox.getAttribute('name')+"\"; filename=\"" + fileName +

"\"\r\n"; 
body += "Content-Type: "+fileType+"\r\n\r\n"; 
body += fileData + "\r\n"; 
body += "--" + boundary + "--\r\n"; 
 
xhr.sendAsBinary(body);

posted @ 2010-09-11 16:08 yansj1997 阅读(2101) | 评论 (2)编辑 收藏


仅列出标题  

posts - 8, comments - 2, trackbacks - 0, articles - 0

Copyright © yansj1997