1. 写一个domain类来映射数据库表

2. 写一个*.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 package="com.jforum.dao.common">
<class name="Member" table="T_MEMBER_INFO">
<id name="id" column="id" type="java.lang.Integer">
<generator class="sequence">
<param name="sequence">FORUM_MEMBER_ID_SEQ</param>
</generator>
</id> <property column="username" length="200" name="username" not-null="true" type="string"/>
<property column="password" length="100" name="password" not-null="true" type="string"/>
<property column="groupid" length="9" name="groupid" not-null="true" type="java.lang.Integer"/> </class>
</hibernate-mapping>

3. applicationContext.xml文件中配置读取hbm.xml

 <bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<!-- <value>com/jforum/domain/Employee.hbm.xml</value> -->
<value>com/ROCKY/domains/member/Member.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>

4. 实现dao,使用template

package com.ROCKY.daos.member;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate; import com.ROCKY.domains.member.Member; public class MemberDao
{
private SessionFactory sessionFactory;
private HibernateTemplate hibernateTemplate; /**
* 设置hibernateTemplate
*
* @return 返回hibernateTemplate
*/
public HibernateTemplate getHibernateTemplate()
{
if (hibernateTemplate == null)
{
hibernateTemplate = new HibernateTemplate(sessionFactory);
} return hibernateTemplate;
} /**
* 获取sessionFactory
*
* @param sessionFactory 要设置的sessionFactory
*/
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
} public Member get(Integer id)
{
return getHibernateTemplate().get(Member.class, id);
} @SuppressWarnings("unchecked")
public List<Member> findByName(String name)
{
return (List<Member>)getHibernateTemplate().find("from Member m where m.username=?", name);
} }

5. 也可以用

package com.ROCKY.daos.member;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.ROCKY.domains.member.Member;

public class MemberDaoHibernate extends HibernateDaoSupport
{
public Member get(Integer id)
{
return getHibernateTemplate().get(Member.class, id);
} @SuppressWarnings("unchecked")
public List<Member> findByName(String name)
{
return (List<Member>)getHibernateTemplate().find("from Member m where m.username=?", name);
}
}

hibernate 一张数据表的流程的更多相关文章

  1. mysql 如何在访问某张数据表按照某个字段分类输出

    也许大家有时候会遇到需要将把数据库中的某张表的数据按照该表的某个字段分类输出,比如一张数据表area如下 我们需要将里面的area按照serialize字段进行分类输出,比如这种形式: areas   ...

  2. MySQL数据库查询某个库下有几张数据表

    如果统计某数据库中存在多少张数据表,使用如下SQL检索语句即可: SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES ...

  3. 【SQL 数据库】将一张数据表信息复制到另一张数据表

    一.MySQL数据库 1.如果目标表存在 INSERT INTO 目标表  SELECT  * FROM 源表; 2.如果目标表不存在 CREATE TABLE 目标表 SELECT * FROM   ...

  4. 【MySQL】 查询某个数据库有多少张数据表

    SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'performanc ...

  5. 【mybatis】mybatis一条sql更新两张数据表,mybatis关联更新多张数据表

    示例sql: <update id="receipt" parameterType="com.pisen.cloud.luna.ms.security.code.b ...

  6. Activiti工作流框架学习(一)之通用数据表详细介绍

    文/朱季谦 Activiti工作流引擎自带了一套数据库表,这里面有一个需要注意的地方: 低于5.6.4的MySQL版本不支持时间戳或毫秒级的日期.更糟糕的是,某些版本在尝试创建此类列时将引发异常,而其 ...

  7. MySQL学习笔记 -- 数据表的基本操作

    数据库是一个可以存放数据库对象的容器,数据库对象包括:表.视图.存储过程.函数.触发器.事件.其中,表是数据库最基本的元素,是其他数据库对象的前提条件. 表中的一列称为一个字段,一行称为一条记录. 1 ...

  8. Activiti学习(二)数据表结构

    Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. l        ...

  9. 【SQL Sever】将SQL Sever中的一个数据表的数据导出为insert语句

    例如:这SQL   Sever中的一张数据表,想要将这张数据表中的数据  转化成一个一个的insert语句存储在txt的文档中,那么不论走到那里这个insert语句一执行,我们就能将这个数据表中的数据 ...

随机推荐

  1. 为什么Android没有iOS那么顺滑

    虽然很多Android手机的配置都比iPhone要高,比如大多数Andorid手机的内存都有1GB,而iPhone 4S只有512MB内存,但用过iPhone的人都知道Android手机在使用的时候总 ...

  2. Windows 服务卸载之后 重新安装提示 “指定的服务已标记为删除”

    背景:        将一个项目做成一个windows服务,在调试的时候,需要卸载.安装该服务,但提示下面的错误:“指定的服务已标记为删除”,进入服务管理界面,启动自己注册的服务,无法手动更改成启用模 ...

  3. 全栈project师?给把瑞士军刀你去砍鬼子好不好!?

    来自www.techgogogo.com 编者注:本文来自Medium前三名推荐文章,发文时已经获得高达2,125个推荐,中文版由天地会珠海分舵编译.全文对当今风靡业界的"全栈xx师&quo ...

  4. Open XML Format SDK引用

    Excel的便捷使得其在非开发人员的办公中非常流行,而Excel确实也提供了很多有用的功能.很多时候我们还需要以Excel为数据源来进行处理或者将Excel作为模板来生成一些报表.在Open XML ...

  5. post get

    /// <summary> /// Get方法 /// </summary> /// <param name="serverUrl">url地址 ...

  6. CSS3伪类nth-child结合transiton动画实现文字若影若现

    css3伪类nth-child结合transiton动画实现文字若影若现收先创建一个div盒子,然后包裹在div中的有10个span标签每个span标签填上内容一次为A,B,C,D,E,F,G,H,I ...

  7. 使用js使表单自动提交

    function sub(){ document.yeepay.submit(); } setTimeout(sub,1000);//以毫秒为单位的.1000代表一秒钟.根据你需要修改这个时间. // ...

  8. C#使用Process类调用外部程序(转)

    在程序开发中,一个程序经常需要去调用其他的程序,C#中Process类正好提供了这样的功能.它提供对本地和远程进程的访问并使您能够启动和停止本地系统进程.一.启动进程实例 Process myProc ...

  9. android 数字键盘制作

    //布局相关<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android ...

  10. C# 数字证书微信API调用使用参考事例

    X.509 v.3 证书的方法.一个比较完整的调用  微信  API的示例: private stringGetResponseResult()         { string strRespons ...