- 浏览: 13682 次
- 性别:
- 来自: 武汉
最新评论
<?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是一个基于Eclipse平台的集成开发环境(IDE),它提供了很多实用的功能和插件来帮助开发者快速开发Java应用程序。Hibernate是一个流行的对象关系映射(ORM)框架...
通过以上步骤,我们成功地在MyEclipse 2014中使用Hibernate 3生成了数据库实体类和XML映射文件,实现了Java对象与数据库的无缝对接。这大大提高了开发效率,减少了手动编写SQL语句的工作量,同时也使得代码更加易于...
在使用Hibernate之前,需要进行相应的配置,包括数据库连接信息、实体类映射文件(hbm.xml)以及Hibernate配置文件(hibernate.cfg.xml)。这些配置信息定义了Hibernate如何与数据库进行通信,以及实体类与表之间的...
在传统的Hibernate使用中,针对每个实体类,我们都需要创建一个对应的Dao(Data Access Object)接口及其实现类,这无疑增加了大量重复的代码。泛型Dao的出现,就是为了解决这个问题,它允许开发者通过泛型来定义一...
综上所述,这个主题主要涵盖了使用Eclipse Hibernate插件自动生成DAO的过程,包括插件安装、项目配置、实体类和映射文件创建,以及DAO接口和实现类的生成。这些知识对于理解和实践Java中的ORM编程,特别是使用...
2. **映射文件(Mapping Files)**:.hbm.xml文件定义了数据库表与实体类之间的映射规则,包括字段映射、主键生成策略等。 3. **配置文件(Configuration Files)**:如hibernate.cfg.xml,用于配置数据库连接信息、...
6. **持久化配置**:在`hibernate.cfg.xml`或`persistence.xml`文件中,需要配置实体类,使Hibernate知道哪些类映射到数据库表。 7. **事务管理**:DAO操作通常涉及数据库事务,因此需要正确地配置和管理事务。例如...
这一过程会根据数据库中的表结构生成相应的Java实体类(Entity)、Hibernate映射文件(`.hbm.xml`)以及DAO接口和实现类。 在生成的Java实体类中,每个字段都会被映射为一个属性,数据库的主键会被映射为类的ID属性...
1. **配置Hibernate**: 配置Hibernate的主配置文件(hibernate.cfg.xml),包括数据库连接信息、实体类映射文件等。 2. **实体类定义**: 定义Java Bean类,这些类代表数据库中的表,通过注解或XML文件进行ORM映射。 ...
实体类是ORM(对象关系映射)的基础,例如Hibernate、MyBatis等框架都依赖于实体类来实现数据与对象的绑定。实体类通常包含属性(字段)、getter和setter方法,以及可能的注解,如`@Entity`、`@Table`、`@Column`等...
例如,`BaseDao<T>`,其中T代表实体类类型,这样就可以在不改变基本结构的情况下,为不同的实体类创建DAO。 6. **查询方法**: - 使用HQL(Hibernate Query Language)或Criteria API编写查询,可以方便地执行复杂...
`hibernate_10`可能是项目中一个相关的配置文件或者源代码包,它可能包含了Hibernate的配置(如hibernate.cfg.xml),实体类(如Student.java),以及DAO实现类(如StudentDAO.java)。实体类对应数据库中的表,包含...
通过定义实体类和映射文件,Hibernate能自动将对象持久化到数据库,反之也能将数据库记录转化为对象。使用Hibernate,我们可以在DAO层实现对数据库的CRUD(创建、读取、更新、删除)操作。 Spring框架的核心功能...
Hibernate通过映射配置文件(如hibernate.cfg.xml和实体类的.hbm.xml文件)将Java对象与数据库表对应起来。在SHLogin程序中,可能存在一个User实体类,对应的数据库表可能是USERS,Hibernate会自动处理对象与表之间...
MagicalTools的核心功能之一是自动生成Hibernate的实体类、DAO层代码以及配置文件。通过简单的界面操作,开发者可以选择数据库表,工具会自动分析表结构,生成对应的Java实体类,同时创建相应的Hibernate配置文件,...
这种模式的核心在于利用Java的泛型特性,使得DAO方法可以处理任何类型的实体对象,而无需为每个实体类单独创建一个DAO实现。 首先,我们需要创建一个泛型DAO接口,如`GenericDao<T>`,其中`T`代表任意实体类类型。...
5. **生成 Hibernate 映射文件和实体类**: - 使用 Hibernate 的反向工程工具,根据数据库中的表生成对应的实体类和映射文件。选择合适的 ID 生成策略,如 `native`,它允许数据库自己决定如何生成主键。 6. **...
3. **生成映射文件**:为每个实体类创建对应的Hibernate映射文件(如`.hbm.xml`),定义实体类与数据库表的映射关系。 4. **运行DAO生成器**:输入必要的参数,如实体类路径、输出目录等,运行DAO生成器。工具会...
同时,因为设计简洁且可移植性强,这个通用DAO模式可以在多个项目中复用,只需要根据具体的实体类进行简单的修改即可适应新的需求。 文件名“Hibernate_app03_通用DAO模式”可能表示这是一个迭代版本的应用,可能...