- 浏览: 151198 次
- 性别:
- 来自: 深圳
最新评论
-
hx0637:
楼主!小弟要面临面试了,能否指导下小弟?
面试 深圳一家公司的 -
kljismi:
你好,我现在正在开这项目的代码,但是我不明白@Privileg ...
权限管理模块分析 -
yzhw:
终于找到了
ImageSizer.java -
sunloveny:
国
struts国际化 -
jackotty:
谢谢楼主的分享
struts validator验证框架
文章列表
在做完机构管理的业务逻辑之后,下面考虑呈现层的实现。
1、
首先规划一下页面的流程,从规划中得到总体的概念,并根据这些总体概念创建ActionForm/Action以及相关的配置文件,
这一步的目的,是保证程序能够正常运行!
2、
依次逐步深入地实现各个功能,从简单到复杂
本项目中重点理解:
MVC模式下的参数传输
Struts异常处理方案
package com.bjsxt.oa.web;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import ...
- 2009-01-18 11:22
- 浏览 1189
- 评论(0)
整合Spring和Hibernate之后,对于业务逻辑类的测试方法,可让测试类继承AbstractTransactionalSpringContextTests,
而不是直接继承TestCase,避免在测试单元中出现懒加载问题。
- 重点理解为何会出现懒加载问题
package com.bjsxt.oa.web.actions;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action ...
- 2009-01-18 11:05
- 浏览 1022
- 评论(0)
package com.bjsxt.oa.manager.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.bjsxt.oa.manager.OrgManager;
import com.bjsxt.oa.model.Organization;
public class OrgManagerImpl extends HibernateDaoSupport implements OrgManager { ...
- 2009-01-18 10:55
- 浏览 1240
- 评论(0)
oa_01:
1、建立机构管理的实体类,并映射【重点理解多对一双向关联映射的原理】(Organization.hbm.xml)
2、根据顺序图的分析,得到业务逻辑接口设计方案(OrgManager.java)
3、实现业务逻辑类(OrgManagerImpl.java)
4、编写测试单元对关键的接口(或没有把握的接口)进行测试,在测试中发现问题并修正(OrgManagerTest.java)
- 重点理解在SSH架构中,spring如何对事务和hibernate session进行管理
* spring通过AOP机制,在业务逻辑对象的方法上添加事务处理
* 需正确的配置事务的传播特性 ...
- 2009-01-18 10:48
- 浏览 1279
- 评论(0)
package com.bjsxt.log4j.test;
import org.apache.log4j.Logger;
public class Log4jTest {
//logger对象具有名称是:com.bjsxt.log4j.test
private static Logger logger = Logger.getLogger(Log4jTest.class);
/**
* @param args
*/
public static void main(String[] args) {
logger.debug("DE ...
- 2009-01-18 10:40
- 浏览 1095
- 评论(0)
每个具体类映射成一张表
- 博客分类:
- 尚学堂 hibernate
每个具体类映射成一张表
1、理解如何映射
这种策略是使用union-subclass标签来定义子类的。每个子类对应一张表,而且这个表的信息是完备的,
即包含了所有从父类继承下来的属性映射的字段(这就是它跟joined-subclass的不同之处,
joined-subclass定义的子类的表,只包含子类特有属性映射的字段)。实现这种策略的时候,有如下步骤:
父类用普通<class>标签定义即可
子类用<union-subclass>标签定义,在定义union-subclass的时候,需要注意如下几点:
Union-subclass标签不再需要包含key标签( ...
- 2009-01-13 22:34
- 浏览 778
- 评论(0)
每个子类映射成一张表
1、理解如何映射
这种策略是使用joined-subclass标签来定义子类的。父类、子类,每个类都对应一张数据库表。
在父类对应的数据库表中,实际上会存储所有的记录,包括父类和子类的记录;在子类对应的数据库表中,
这个表只定义了子类中所特有的属性映射的字段。子类与父类,通过相同的主键值来关联。实现这种策略的时候,
有如下步骤:
父类用普通的<class>标签定义即可
父类不再需要定义discriminator字段
子类用<joined-subclass>标签定义,在定义joined-subclass的时候,需要注意如下几点:
J ...
- 2009-01-13 19:02
- 浏览 752
- 评论(0)
每棵继承树映射成一张表
1、理解如何映射
因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。
这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:
父类用普通的<class>标签定义
在父类中定义一个discriminator,即指定这个区分的字段的名称和类型
如:<discriminator column=”XXX” type=”string”/>
子类使用<subclass>标签定义,在定义subclass的时候,需要注意如下 ...
- 2009-01-13 18:54
- 浏览 842
- 评论(0)
复合(联合)主键映射
通常将复合主键相关的属性,单独放到一个类中
* 此类必须实现序列化接口
* 覆写hashcode和equals方法
package com.bjsxt.hibernate;
import java.io.Serializable;
public class FiscalYearPeriodPK implements Serializable {
//核算年
private int fiscalYear;
//核算月
private int fiscalPeriod;
public int getFiscalYea ...
- 2009-01-13 18:51
- 浏览 1852
- 评论(0)
component映射
在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid,
component可以成为是值对象(DDD)
采用component映射的好处:它实现了对象模型的细粒度划分,层次会更分明,复用率会更高
package com.bjsxt.hibernate;
public class Contact {
private String email;
private String address;
private String zipCode;
private String conta ...
- 2009-01-13 18:48
- 浏览 875
- 评论(0)
t_CollectionMapping
id name
1
xxx
t_set_values
set_id set_value
1 a
1 b
t_list_value
list_id list_value list_index
1 c 0
1 d 1
t_array_value
array_id array_value array_index
1 e 0
1 f 1
t_map_value
map_id map_key map_value
1 k1 v1
1 k2 v2
package com.bjsxt.hibernate;
import java.util.List;
...
- 2009-01-13 18:46
- 浏览 888
- 评论(0)
hibernate基本映射
实体类---表
实体类中的普通属性---表字段
采用<class>标签映射成数据库表,通过<property>标签将普通属性映射成表字段
所谓普通属性指不包括自定义类、集合和数组等
注意:如果实体类和实体类中的属性和sql中的关键字重复,必须采用table或column重新命名
实体类的设计原则:
* 实现一个默认的(即无参数的)构造方法(constructor)
* 提供一个标识属性(identifier property)(可选)
* 使用非final的类 (可选)
* 为持久化字段声明访问器(accessors)
主键 ...
- 2009-01-13 18:10
- 浏览 767
- 评论(0)
第一个hibernate项目
1、新建java项目
2、创建User Library,加入如下jar
* HIBERNATE_HOME/hibernate3.jar
* HIBERNATE_HOME/lib/*.jar
* MySql jdbc驱动
3、创建hibernate配置文件hibernate.cfg.xml,为了便于调试最好加入log4j配置文件
4、定义实体类
5、定义User类的映射文件User.hbm.xml
6、将User.hbml.xml文件加入到hibernate.cfg.xml文件中
7、编写hbm2ddl工具类,将实体类生成数据库表
8、开发客户 ...
- 2009-01-13 18:03
- 浏览 1003
- 评论(0)
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta h ...
- 2009-01-13 17:06
- 浏览 1173
- 评论(0)
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/x ...
- 2009-01-13 17:00
- 浏览 1259
- 评论(0)