Hibernate应用系列之三开发Demo篇
【IT168技术文档】
点击“确定”,生成如下代码.
好了,这个类完成了。它是一个普通的Java对象(Plain Old Java Objects,就是POJOs,有时候也称作Plain Ordinary Java Objects),表示一个数据集合。下面建立一个Hbm文件将这个类映射到数据库的表格上。package userdmin;
![]()
/**//*
* Copyright (c) 2006,Science and Technology Of NCEPU
* All rights reserved.
*
* FileName:User
* Description:description of the file
*
* Version:1.0
* Author:gmplayer
* FinishDate:2006.9.1
*
*/
![]()
public class User ...{
private int id;
private String username;
private String password;
/**//**
* @return id
*/
public int getId() ...{
return id;
}
/**//**
* @param id 要设置的 id
*/
public void setId(int id) ...{
this.id = id;
}
/**//**
* @return password
*/
public String getPassword() ...{
return password;
}
/**//**
* @param password 要设置的 password
*/
public void setPassword(String password) ...{
this.password = password;
}
/**//**
* @return username
*/
public String getUsername() ...{
return username;
}
/**//**
* @param username 要设置的 username
*/
public void setUsername(String username) ...{
this.username = username;
}
![]()
}
3. 映射文件
右键点击HibernateDemo下的src文件,通过”新建—>文件”,来建立一个名为”User.hbm.xml”的文件,文件内容如下:
其中,代码中useradmin.User表示,类名为useradmin包下的User类,表为数据库中的Users表.<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.1.dtd">
<hibernate-mapping>
<class name="useradmin.User" table="Users"><!--把类和数表关联起来-->
<id name="id" unsaved-value="null"> <!--id的产生方式是assigned-->
<generator class="assigned" />
</id>
<property name="username" type="string" /><!--映射用户姓名-->
<property name="password" type="string" /><!--映射用户密码-->
</class>
</hibernate-mapping>
这个XML文件定义了对象属性映射到数据库表的关系,这里采用了assigned(程序设置)方式生成主键。
4. 配置文件
Hibernate可以使用XML或属性文件来进行配置,配置文件名默认为“hibernate.cfg.xml”, 在src目录下,新建一个hibernate.cfg.xml文件,与User.hbm.xml文件在同一目录下,内容如下:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.1.dtd">
<hibernate-configuration>
<session-factory >
<property name="show_sql">true</property><!--显示SQL语言-->
<property name="connection.driver_class"><!--指定连接MySQL的驱动-->
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK
<!--连接数据库的URL,库名是schoolProject,”useUnicode=true&characterEncoding=GBK”
意思是采用中文编码--></property>
<property name="connection.username"> <!--连接的登录名-->
root
</property>
<property name="connection.password"><!--登录密码-->
root
</property>
<property name="dialect"> <!--指定连接的语言-->
org.hibernate.dialect.MySQLDialect
</property>
<mapping resource="User.hbm.xml" /><!--映射User这个资源-->
</session-factory>
</hibernate-configuration>
如果hibernate.cfg.xml文件和User.hbm.xml文件不在同一目录下,可以通过修改hibernate.cfg.xml文件中的<mapping resource="User.hbm.xml" />来映射User这个资源.如果User.hbm.xml这个文件在useradmin目录下, User.hbm.xml与hibernate.cfg.xml在同级目录下,<mapping resource="User.hbm.xml" />应改为<mapping resource="useradmin/User.hbm.xml" />
另外注意hibernate.cfg.xml文件和User.hbm.xml文件中的”http://hibernate.sourceforge.net/hibernate-mapping-3.1.dtd”,其中3.1要与hibernate的版本一致,我们使用的是hibernate3.1.
0
相关文章
