博客统计信息

用户名:gang4415
文章数:41
评论数:3
访问量:20274
无忧币:236
博客积分:697
博客等级:4
注册日期:2007-09-09

我最近发表的评论

android投资理财 回复
你好,给你发一份源码吧,谢谢:rgz..
[跟我学UML] UML.. 回复
你写得太好了!!!
Delphi里的指针 回复
better,good!!!
关于socket和 jsp.. 回复
the more the better
创建并运行HelloW.. 回复
很好的HelloWorld

背景音乐

我的音乐

00:00 | 00:00

datetime('now')是错的,应该是datetime('now', 'localtime'),这样才记录手机的本地时间,不然记录的是手机的格林威治时间。
在android中利用extends Application的方法添加全局变量的方法现在应该使用得非常普遍了,这种方法在Activity中使用getApplication()方法获取Context,在View中使用getContext().getApplicationContext()方法获取Context,继而获取全局变量,简单有效。但是刚刚我被一个问题困扰了,假如我现在既不在Activity里,也不在View里,在我自定义的类里面使用全局变量怎么弄??这里记录一下。
 
public class MyApplication extends Application {          privat..
2011-09-08 16:11:34
一、Android有两种方式处理线程:
比较耗时的操作放在后台服务,通过通知机制通知用户使用的活动(activity);在后台线程中处理耗时的操作
二、使用Handler
创建后台线程最友好的办法是创建一个Handler子类的实例。只需一个Handler对应一个Activity。自定义的后台线程可与 Handler通信,Handler将与UI线程一起工作。和Handler通信,需要两个选项,message和runnable对象。
三、Message
发送Message到Handler,第一步调用obtainMessage(),从池中得到Message对象。
然后,可通过消息队列将Message发送给Handler,通过sendMessag..
●●●范围( Scope )
      有些 JSP 程序员会将 request、session、application 和 pageContext 归为一类,原因在于:它们皆能借助 setAttribute( )和 getAttribute( )来设定和取得其属性(Attribute),通过这两种方法来做到数据分享。
      我们先来看下面这段小程序:
Page1.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<html>
<head>
 <title>Page1.jsp</title>
</head>
<body>
</b..
2010-10-13 17:18:25


一、hellohibernate3在eclipse中的项目数如下:
图中的所有jar文件来自hibernate3下载包。
我是先把他们拷贝到本项目lib文件夹下,
再在eclipse中把他们加载进项目Project->Properties->Java build path->Libraries -> "Add External JARs"


二、各文件源代码:
Event.hbm.xml:://///////////////////////////////////////////////////////////////
<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">



<hibernate-mapping>
    <class name="events.Event" table="EVENTS">

        <id name="id" column="EVENT_ID">

            <generator class="native"/>

        </id>

        <property name="date" type="timestamp" column="EVENT_DATE"/>

        <property name="title"/>

    </class>
</hibernate-mapping>
Event.java://///////////////////////////////////////////////////////////////
package events;
import java.util.Date;
public class Event {

    private Long id;
    private String title;

    private Date date;
    public Event() {}
    public Long getId() {

        return id;

    }
    private void setId(Long id) {

        this.id = id;

    }
    public Date getDate() {

        return date;

    }
    public void setDate(Date date) {

        this.date = date;

    }
    public String getTitle() {

        return title;

    }
    public void setTitle(String title) {

        this.title = title;

    }

}
EventManager.java://///////////////////////////////////////////////////////////////
package events;

import org.hibernate.Session;
import java.util.Date;
import util.HibernateUtil;
public class EventManager {
    public static void main(String[] args) {

        EventManager mgr = new EventManager();
        //if (args[0].equals("store")) {

            mgr.createAndStoreEvent("My Event", new Date());

        //}
        HibernateUtil.getSessionFactory().close();

    }
    private void createAndStoreEvent(String title, Date theDate) {
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        Event theEvent = new Event();

        theEvent.setTitle(title);

        theEvent.setDate(theDate);
        session.save(theEvent);
        session.getTransaction().commit();

    }
}
HibernateUtil.java://///////////////////////////////////////////////////////////////
package util;
import org.hibernate.*;

import org.hibernate.cfg.*;
public class HibernateUtil {
    private static final SessionFactory sessionFactory;
    static {

        try {

            // Create the SessionFactory from hibernate.cfg.xml

            sessionFactory = new Configuration().configure().buildSessionFactory();

        } catch (Throwable ex) {

            // Make sure you log the exception, as it might be swallowed

            System.err.println("Initial SessionFactory creation failed." + ex);

            throw new ExceptionInInitializerError(ex);

        }

    }
    public static SessionFactory getSessionFactory() {

        return sessionFactory;

    }
}
hibernate.cfg.xml://///////////////////////////////////////////////////////////////
<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- Database connection settings -->

        <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>

        <property name="connection.url">jdbc:mysql://192.168.171.32/test</property>

        <property name="connection.username">root</property>

        <property name="connection.password">123456</property>
        <!-- JDBC connection pool (use the built-in) -->

        <property name="connection.pool_size">1</property>
        <!-- SQL dialect -->

        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- Enable Hibernate's automatic session context management -->

        <property name="current_session_context_class">thread</property>
        <!-- Disable the second-level cache -->

        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
        <!-- Echo all executed SQL to stdout -->

        <property name="show_sql">true</property>
        <!-- Drop and re-create the database schema on startup -->

        <property name="hbm2ddl.auto">create</property>
        <mapping resource="events/Event.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
 
 
 
 
 
 
 
 
终于有点对hibernate入门的感觉。方便门外的学习者,给一个简单的入门例子。

如果你有用过其他持久架构 转到hibernate其实很简单。一些原理方面就不讲了,

robbin讲的肯定比我好的多,自己去精华版看看。

我所给的只是我当初刚开始接触hibernate时候很想要的一个简单例子和设置方法。

一直没有找到,所以现在放到这里给大家看看,(只给想要入门的一个直观的感应,呵呵)



首先当然要新建一个项目



然后在Project Properties->Paths->Required Libraries->add->new 这里定义hibernate的类库 把hibernate的lib下面的所有jar包进去 当然还有hibernate2.jar也要

然后一路ok下去就可以了。



再来就是hibernate.properties

从hibernate的src下面找到

把它拷到你项目的src目录下

(什么,你的项目没有src目录,新建一个随便的类就有src目录了)



这样一个JB下面的hibernate的开发环境就好了



然后在hibernate.properties里面设置你的数据库连接

默认是HypersonicSQL



嗯 接下来的是你最想要做的事情了 其实很简单

新建一个类Message.java

代码如下



代码:

package hello;



import java.io.Serializable;



/**

* @author getdown

* @version 1.0

*/



public class Message implements Serializable {

private Long id;

private String text;

//定义一个简单链表 指向另外的一个Message

private Message nextMessage;

public Message() {}



public Message(Long id) {

this.id = id;

}



public Message(String text) {

this.text = text;

}



public Message(Long id, String text) {

this.id = id;

this.text = text;

}



public Long getId() {

return id;

}



private void setId(Long id) {

this.id = id;

}



public String getText() {

return text;

}



public void setText(String text) {

this.text = text;

}



public Message getNextMessage() {

return nextMessage;

}



public void setNextMessage(Message nextMessage) {

this.nextMessage = nextMessage;

}



}



接下来是这个类对应的hibernate的配置文件 Message.hbm.xml



代码:

<?xml version="1.0"?>



<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 2.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>

<!--定义类和表的对应-->

<class

name="hello.Message"

table="Messages"

>

<!--定义ID字段和生成ID的策略 这里采用identity-->

<id name="id"

column="MESSAGE_ID"

>

<generator class="identity"/>

</id>

<!--定义里面的text字段-->

<property

name="text"

type="string">

<!--定义text字段在数据库里面生成的方法-->

<column

name="TEXT"

length="100"

not-null="true"

/>

</property>

<!--定义对象关联之间的对应关系和关联的字段-->

<many-to-one

name="nextMessage"

cascade="all"

column="NEXT_MESSAGE_ID"

/>

</class>

</hibernate-mapping>



然后就是测试类



代码:

package hello;



import net.sf.hibernate.cfg.Configuration;

import net.sf.hibernate.SessionFactory;

import net.sf.hibernate.tool.hbm2ddl.SchemaExport;

import net.sf.hibernate.Session;

import net.sf.hibernate.Query;

import net.sf.hibernate.Hibernate;

import net.sf.hibernate.type.LongType;

import net.sf.hibernate.Transaction;







/**

* @author getdown

* @version 1.0

*/



public class Hello {

public Hello() {

}



public static void main(String[] args) throws Exception {

Configuration cfg = new Configuration().addClass(Message.class);



/** 顾名思义 构建表。。。第一次运行的时候运行下面语句可以在数据库生成表

* 之后可以把下面这句去掉

* */

// new SchemaExport(cfg).create(true, true);



//先生成sessionFactory

SessionFactory sessions = cfg.buildSessionFactory();

//再从sessionFactory得到一个session

Session session = sessions.openSession();

//开始对数据库的操作







/*----对数据库的创建操作--------*/

Message message = new Message("helloWorld");

//创建一条记录

session.save(message);

//存入记录

session.flush();





/*---对数据库的查询操作---------------*/

// Message message = new Message();

// Query q = session.createQuery("from Message as message where message.id=1");

// message = (Message) q.list().get(0);

// message.getNextMessage().setText("helloNext");

// session.flush();

// session.close();

// Long id = new Long(1);

// Message message = (Message) session.find("from Message as message where message.id=?", id, Hibernate.LONG).get(0);

// System.out.println(message.getText());





// /*-------事务的处理----------------*/

// Transaction tx = session.beginTransaction();

// try {

// Message message = new Message("hello");

// session.save(message);

// session.flush();

// message = new Message("hello");

// session.save(message);

// session.flush();

// tx.commit();

// }

// catch (HibernateException ex) {

// tx.rollback();

// }



/*-------添加1000条记录时间--------------*/

// Message message;

// long start = System.currentTimeMillis();

// for(int i = 0; i < 1000; i ++) {

// message = new Message("hello");

// session.save(message);

// session.flush();

// }

// long end = System.currentTimeMillis();

// System.out.println("添加1000条记录时间---" + (end-start)/1000 + "s");







session.close();





}



}



ok了 运行一下Hello看看出来什么吧

怎么样 比起CMP的持久 hibernate的持久是不是显得很轻量级。。

还可以试试看hibernate的性能 把Hello.java的最后一段注释去掉运行看看



当然hibernate最重要的还是它的原理,还有很多很好的,很有趣的功能和O/RM设计思想等着你自己发掘。

多看看它自己的文档,可以学到很多东西,它的文档真的非常好。
[/img]..
2010-10-13 17:16:28

对于java初学者来说,往往不懂区分jdk和jre的区别,实际上这两个东西差别很大的,有必要了解一下:

简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JDK也就是Java Development Kit。

    JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。如 果安装了JDK,会发同你的电脑有两套JRE,一套位于 C:\Program Files\Java\jdk1.5.0_04\jre 另外一套位于 C:\Program ..
相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。
 
 
  绝对路径-以Web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。
  其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同。由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。


..
2010-10-13 17:08:05
1 基本信息

摘要:本篇为JMX的学习笔记, 教你一步一步使用JMX,并提供一个能运行的完整的案例,可以使人达到快速入门的x目的。
作者:陈光耀
2 正文
      JMX(Java Management Extensions, Java管理扩展)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。 JMX的优点在于:
      1.可以非常容易的使应用程序具有被管理的功能

      2.提供具有高度伸缩..

1.Hibernate 的初始化.
读取Hibernate 的配置信息-〉创建Session Factory
1)创建Configeration类的实例。
它的构造方法:将配置信息(Hibernate config.xml)读入到内存。

一个Configeration 实例代表Hibernate 所有Java类到Sql数据库映射的集合。
2)创建SessionFactory实例
把Configeration 对象中的所有配置信息拷贝到SessionFactory的缓存中。

SessionFactory的实例代表一个数据库存储员源,创建后不再与Configeration 对象关联。

缓存(cache):指Java对象的属性(通常是一些集合类型的属性--占用内存空间。

..
2010-10-13 15:56:43
1、如何混合使用Jsp和SSI #include?


在JSP中可以使用如下方式包含纯HTML:

<!--#include file="data.inc"-->

但是如果data.inc中包含JSP CODE ,我们可以使用:

<%@include file="data.inc"%>


2、如何执行一个线程安全的JSP?

 <<   1   2   3   4   5   >>   页数 ( 1/5 )

公告

最近太忙,请大家风谅!!工作太忙了,闲下一定给大家分享.希望大家继续关注!!