`
My_Imagination
  • 浏览: 13685 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Hibernate映射文件及实体类、Dao实现

 
阅读更多

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.wepull.crm.domain.CstCustomer" table="cst_customer" schema="dbo" catalog="jb_crm_team0">
        <id name="custNo" type="java.lang.String">
            <column name="cust_no" length="17" />
            <generator class="assigned" />
        </id>
        <property name="custName" type="java.lang.String">
            <column name="cust_name" length="100" not-null="true" />
        </property>
        <property name="custRegion" type="java.lang.String">
            <column name="cust_region" length="50" />
        </property>
        <property name="custManagerId" type="java.lang.Long">
            <column name="cust_manager_id" />
        </property>
        <property name="custManagerName" type="java.lang.String">
            <column name="cust_manager_name" length="50" />
        </property>
        <property name="custLevel" type="java.lang.Integer">
            <column name="cust_level" />
        </property>
        <property name="custLevelLabel" type="java.lang.String">
            <column name="cust_level_label" length="50" />
        </property>
        <property name="custSatisfy" type="java.lang.Integer">
            <column name="cust_satisfy" />
        </property>
        <property name="custCredit" type="java.lang.Integer">
            <column name="cust_credit" />
        </property>
        <property name="custAddr" type="java.lang.String">
            <column name="cust_addr" length="300" />
        </property>
        <property name="custZip" type="java.lang.String">
            <column name="cust_zip" length="10" />
        </property>
        <property name="custTel" type="java.lang.String">
            <column name="cust_tel" length="50" />
        </property>
        <property name="custFax" type="java.lang.String">
            <column name="cust_fax" length="50" />
        </property>
        <property name="custWebsite" type="java.lang.String">
            <column name="cust_website" length="50" />
        </property>
        <property name="custLicenceNo" type="java.lang.String">
            <column name="cust_licence_no" length="50" />
        </property>
        <property name="custChieftain" type="java.lang.String">
            <column name="cust_chieftain" length="50" />
        </property>
        <property name="custBankroll" type="java.lang.Long">
            <column name="cust_bankroll" />
        </property>
        <property name="custTurnover" type="java.lang.Long">
            <column name="cust_turnover" />
        </property>
        <property name="custBank" type="java.lang.String">
            <column name="cust_bank" length="200" />
        </property>
        <property name="custBankAccount" type="java.lang.String">
            <column name="cust_bank_account" length="50" />
        </property>
        <property name="custLocalTaxNo" type="java.lang.String">
            <column name="cust_local_tax_no" length="50" />
        </property>
        <property name="custNationalTaxNo" type="java.lang.String">
            <column name="cust_national_tax_no" length="50" />
        </property>
        <property name="custStatus" type="java.lang.String">
            <column name="cust_status" length="1" />
        </property>
        <set name="cstActivities" inverse="true">
            <key>
                <column name="atv_cust_no" length="17" />
            </key>
            <one-to-many class="com.wepull.crm.domain.CstActivity" />
        </set>
        <set name="cstLinkmans" cascade="all" lazy="true" inverse="false">
            <key>
                <column name="lkm_cust_no" length="17" not-null="true" />
            </key>
            <one-to-many class="com.wepull.crm.domain.CstLinkman" />
        </set>
        <set name="cstLosts" inverse="true">
            <key>
                <column name="lst_cust_no" length="17" not-null="true" />
            </key>
            <one-to-many class="com.wepull.crm.domain.CstLost" />
        </set>
        <set name="cstServices" inverse="true">
            <key>
                <column name="svr_cust_no" length="17" />
            </key>
            <one-to-many class="com.wepull.crm.domain.CstService" />
        </set>
    </class>
</hibernate-mapping>

 

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.wepull.crm.domain.CstLinkman" table="cst_linkman" schema="dbo" catalog="jb_crm_team0">
        <id name="lkmId" type="java.lang.Long">
            <column name="lkm_id" />
            <generator class="native" />
        </id>
        <many-to-one name="cstCustomer" class="com.wepull.crm.domain.CstCustomer" fetch="select">
            <column name="lkm_cust_no" length="17" not-null="true" />
        </many-to-one>
        <property name="lkmCustName" type="java.lang.String">
            <column name="lkm_cust_name" length="100" />
        </property>
        <property name="lkmName" type="java.lang.String">
            <column name="lkm_name" length="50" not-null="true" />
        </property>
        <property name="lkmSex" type="java.lang.String">
            <column name="lkm_sex" length="5" />
        </property>
        <property name="lkmPostion" type="java.lang.String">
            <column name="lkm_postion" length="50" />
        </property>
        <property name="lkmTel" type="java.lang.String">
            <column name="lkm_tel" length="50" not-null="true" />
        </property>
        <property name="lkmMobile" type="java.lang.String">
            <column name="lkm_mobile" length="50" />
        </property>
        <property name="lkmMemo" type="java.lang.String">
            <column name="lkm_memo" length="300" />
        </property>
    </class>
</hibernate-mapping>

 

 

package com.wepull.crm.customer.dao;

import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

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

import com.wepull.crm.domain.CstActivity;
import com.wepull.crm.domain.CstCustomer;
import com.wepull.crm.domain.CstLinkman;
import com.wepull.crm.util.PageModel;

public class CustomerDaoImpl extends HibernateDaoSupport implements
		ICustomerDao {

	public PageModel findAll(PageModel pm) {
		String HQLCust = "from CstCustomer where 1=1 ";
		String COUNT_HQL = null;
		List<CstCustomer> customers = null;
		customers = getSession().createQuery(HQLCust).setFirstResult(
				pm.getFirstResult()).setMaxResults(pm.getPageSize()).list();
		pm.setResult(customers);
		//查询最大结果集数
		COUNT_HQL = "select count(custNo) " + HQLCust;
		long  maxCount = 0;
		maxCount = (Long) getSession().createQuery(COUNT_HQL).uniqueResult();
		pm.setTotal(maxCount);//将最大结果集条数返回
		return pm;
		//return getHibernateTemplate().find("from CstCustomer");
	}

	public void update(CstCustomer customer) {
		getHibernateTemplate().update(customer);
	}

	public void delete(String custNo) {
		System.out.println("Dao层:" + custNo);
		// 删除关联的联系人
		String HQLLink = "from CstLinkman linkman where linkman.cstCustomer.custNo=?";
		List<CstLinkman> cstLinkmans = getSession().createQuery(HQLLink)
				.setString(0, custNo).list();
		for (CstLinkman linkman : cstLinkmans) {
			getHibernateTemplate().delete(
					getHibernateTemplate().load(CstLinkman.class,
							linkman.getLkmId()));
		}
		// 删除关联的交往记录
		String HQLAct = "from CstActivity activity where activity.cstCustomer.custNo=?";
		List<CstActivity> cstActivities = getSession().createQuery(HQLAct)
				.setString(0, custNo).list();
		for (CstActivity activity : cstActivities) {
			getHibernateTemplate().delete(
					getHibernateTemplate().load(CstActivity.class,
							activity.getAtvId()));
		}
		getHibernateTemplate().delete(
				getHibernateTemplate().load(CstCustomer.class, custNo));

	}

	public CstCustomer findById(String custName) {
		return (CstCustomer) getHibernateTemplate().get(CstCustomer.class,
				custName);
	}

	public List<CstActivity> findAct(String custNo) {
		CstCustomer cstCustomer = (CstCustomer) getHibernateTemplate().get(
				CstCustomer.class, custNo);
		String HQL = "from CstActivity activity where activity.cstCustomer.custNo=?";
		List<CstActivity> activitys = getSession().createQuery(HQL).setString(
				0, custNo).list();
		return activitys;
	}

	public void delAct(Long atvId) {
		getHibernateTemplate().delete(
				getHibernateTemplate().load(CstActivity.class, atvId));
	}

	public CstActivity findActById(Long atvId) {
		return (CstActivity) getHibernateTemplate().get(CstActivity.class,
				atvId);
	}

	public void updateAct(CstActivity activity) {
		getHibernateTemplate().update(activity);
	}

	public void saveAct(CstActivity activity) {
		getHibernateTemplate().save(activity);
	}

	public List<CstLinkman> findLink(String custNo) {
		System.out.println("Dao层:" + custNo);
		CstCustomer cstCustomer = (CstCustomer) getHibernateTemplate().get(
				CstCustomer.class, custNo);
		String HQL = "from CstLinkman linkman where linkman.cstCustomer.custNo=?";
		List<CstLinkman> linkmans = getSession().createQuery(HQL).setString(0,
				custNo).list();
		return linkmans;
	}

	public void delLink(Long lkmId) {
		getHibernateTemplate().delete(
				getHibernateTemplate().load(CstLinkman.class, lkmId));
	}

	public CstLinkman findLinkById(Long lkmId) {
		return (CstLinkman) getHibernateTemplate().get(CstLinkman.class, lkmId);
	}

	public void updateLink(CstLinkman linkman) {
		getHibernateTemplate().update(linkman);
	}

	public void saveLink(CstLinkman linkman) {
		getHibernateTemplate().save(linkman);
	}
}
 
分享到:
评论

相关推荐

    myeclipse与hibernate―反向生成实体类和DAO

    MyEclipse与Hibernate反向生成实体类和DAO MyEclipse是一个基于Eclipse平台的集成开发环境(IDE),它提供了很多实用的功能和插件来帮助开发者快速开发Java应用程序。Hibernate是一个流行的对象关系映射(ORM)框架...

    MyEclipse 2014 使用hibernate3 生成数据库实体类 和 xml映射文件

    通过以上步骤,我们成功地在MyEclipse 2014中使用Hibernate 3生成了数据库实体类和XML映射文件,实现了Java对象与数据库的无缝对接。这大大提高了开发效率,减少了手动编写SQL语句的工作量,同时也使得代码更加易于...

    Hibernate 基于持久层框架的DAO模式应用

    在使用Hibernate之前,需要进行相应的配置,包括数据库连接信息、实体类映射文件(hbm.xml)以及Hibernate配置文件(hibernate.cfg.xml)。这些配置信息定义了Hibernate如何与数据库进行通信,以及实体类与表之间的...

    Hibernate泛型Dao

    在传统的Hibernate使用中,针对每个实体类,我们都需要创建一个对应的Dao(Data Access Object)接口及其实现类,这无疑增加了大量重复的代码。泛型Dao的出现,就是为了解决这个问题,它允许开发者通过泛型来定义一...

    hibernate eclipse插件生成dao样例

    综上所述,这个主题主要涵盖了使用Eclipse Hibernate插件自动生成DAO的过程,包括插件安装、项目配置、实体类和映射文件创建,以及DAO接口和实现类的生成。这些知识对于理解和实践Java中的ORM编程,特别是使用...

    Hibernate 映射数据库表插件

    2. **映射文件(Mapping Files)**:.hbm.xml文件定义了数据库表与实体类之间的映射规则,包括字段映射、主键生成策略等。 3. **配置文件(Configuration Files)**:如hibernate.cfg.xml,用于配置数据库连接信息、...

    hibernate dao 生成工具

    6. **持久化配置**:在`hibernate.cfg.xml`或`persistence.xml`文件中,需要配置实体类,使Hibernate知道哪些类映射到数据库表。 7. **事务管理**:DAO操作通常涉及数据库事务,因此需要正确地配置和管理事务。例如...

    hibernate自动生成dao,配置文件等的学习笔记,在myeclipse下实现

    这一过程会根据数据库中的表结构生成相应的Java实体类(Entity)、Hibernate映射文件(`.hbm.xml`)以及DAO接口和实现类。 在生成的Java实体类中,每个字段都会被映射为一个属性,数据库的主键会被映射为类的ID属性...

    vc生成hibernate的dao类

    1. **配置Hibernate**: 配置Hibernate的主配置文件(hibernate.cfg.xml),包括数据库连接信息、实体类映射文件等。 2. **实体类定义**: 定义Java Bean类,这些类代表数据库中的表,通过注解或XML文件进行ORM映射。 ...

    java 实体类和Dao层代码生成器

    实体类是ORM(对象关系映射)的基础,例如Hibernate、MyBatis等框架都依赖于实体类来实现数据与对象的绑定。实体类通常包含属性(字段)、getter和setter方法,以及可能的注解,如`@Entity`、`@Table`、`@Column`等...

    Hibernate封装dao层

    例如,`BaseDao&lt;T&gt;`,其中T代表实体类类型,这样就可以在不改变基本结构的情况下,为不同的实体类创建DAO。 6. **查询方法**: - 使用HQL(Hibernate Query Language)或Criteria API编写查询,可以方便地执行复杂...

    (hibernate_10增删改查DAO

    `hibernate_10`可能是项目中一个相关的配置文件或者源代码包,它可能包含了Hibernate的配置(如hibernate.cfg.xml),实体类(如Student.java),以及DAO实现类(如StudentDAO.java)。实体类对应数据库中的表,包含...

    Struts2+hibernate+spring整合泛型DAO

    通过定义实体类和映射文件,Hibernate能自动将对象持久化到数据库,反之也能将数据库记录转化为对象。使用Hibernate,我们可以在DAO层实现对数据库的CRUD(创建、读取、更新、删除)操作。 Spring框架的核心功能...

    struts + DAO + Hibernate可直接运行程序

    Hibernate通过映射配置文件(如hibernate.cfg.xml和实体类的.hbm.xml文件)将Java对象与数据库表对应起来。在SHLogin程序中,可能存在一个User实体类,对应的数据库表可能是USERS,Hibernate会自动处理对象与表之间...

    代码自动生成工具 hibernate配置文件工具 MagicalTools

    MagicalTools的核心功能之一是自动生成Hibernate的实体类、DAO层代码以及配置文件。通过简单的界面操作,开发者可以选择数据库表,工具会自动分析表结构,生成对应的Java实体类,同时创建相应的Hibernate配置文件,...

    Hibernate泛型DAO(结合spring模板支持)

    这种模式的核心在于利用Java的泛型特性,使得DAO方法可以处理任何类型的实体对象,而无需为每个实体类单独创建一个DAO实现。 首先,我们需要创建一个泛型DAO接口,如`GenericDao&lt;T&gt;`,其中`T`代表任意实体类类型。...

    spring+hibernate整合详解(截图)

    5. **生成 Hibernate 映射文件和实体类**: - 使用 Hibernate 的反向工程工具,根据数据库中的表生成对应的实体类和映射文件。选择合适的 ID 生成策略,如 `native`,它允许数据库自己决定如何生成主键。 6. **...

    Hibernate DAO生成器

    3. **生成映射文件**:为每个实体类创建对应的Hibernate映射文件(如`.hbm.xml`),定义实体类与数据库表的映射关系。 4. **运行DAO生成器**:输入必要的参数,如实体类路径、输出目录等,运行DAO生成器。工具会...

    Hibernate_通用DAO模式,一个写好的dao层

    同时,因为设计简洁且可移植性强,这个通用DAO模式可以在多个项目中复用,只需要根据具体的实体类进行简单的修改即可适应新的需求。 文件名“Hibernate_app03_通用DAO模式”可能表示这是一个迭代版本的应用,可能...

Global site tag (gtag.js) - Google Analytics