spring、structs、habrinate 的文字常识解释
来源:互联网 发布:mac git tower 编辑:程序博客网 时间:2024/06/06 07:24
一. 1 jdbc2_0-stdext.jar 包含JDBC2.0 Optional Package API类。如果我们要使用struts提供的数据资源,就需要将这个文件拷贝到WEB-INF\lib下
2 Struts.jar 包含struts中所有的java类。同样也需要拷贝到WEB-INF\lib下
3 *.tld 标记库描述器文件,描述了多个struts标记库中的自定义标记。同样要拷贝到WEB-INF\lib下
在webapps目录下有如下文件:
1 Struts-blank.war 一个简单的web应用程序
2 Struts-documentation.war 包含struts站点上所有struts文档
3 Struts-example.war Struts很多特性的示范
4 Struts-exercisetaglib.war 主要用于对自定义标签库进行增加而使用的测试页,但也可以示范如何使用struts标记
5 Struts-template.war 包含struts模板标记的介绍和范例
6 Struts-upload.war 一个简单的例子,示范如何使用struts框架上传文件
二. Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。
三.
首先写了两个实体类Address(private int add_id;
private String city;private String country;private Company company;)和Company(private int c_id;private String c_name;private Address address;),生成get,set方法,然后配置实体类的映射文件Address.hbm.xml和Company.hbm.xml。
代码:
----------Address.hbm.xm
<?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" >
<hibernate-mapping>
<class name="cn.hdu.entity.Address" table="ADDRESS">
<id name="add_id" column="ADD_ID">
<generator class="sequence"><param
name="sequence">ADDRESS_SEQUENCES</param></generator>
</id>
<property name="city" column="CITY"></property>
<property name="country" column="COUNTRY"></property>
<one-to-one name="company" cascade="save-update"
class="cn.hdu.entity.Company" lazy="false"></one-to-one>
</class>
</hibernate-mapping>
-----------Company.hbm.xml
<?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" >
<hibernate-mapping>
<class name="cn.hdu.entity.Company" table="COMPANY">
<id name="c_id" column="C_ID">
<generator class="sequence">
<param name="sequence">COMPANY_SEQUENCES</param></generator>
</id>
<property name="c_name" column="C_NAME"></property>
<many-to-one name="address" column="ADD_ID"
class="cn.hdu.entity.Address" unique="true" lazy="false"
cascade="save-update"></many-to-one>
</class>
</hibernate-mapping>
注意:上面many-to-one,并不是说是多对一,这只是说Company中address属性指向Address中的add_id属性,也就是说一对一指得是一张表中的一个字段对应另外 一张表中的一条记录。
COMPANY_SEQUENCES和ADDRESS_SEQUENCES代表数据库中两个序列, 需要自己再数据库中create;id代表主键,name=" "严格等于实体类中属性名称 ,column=" "代表数据库中表的字段名,一般规则为大写; lazy="false"表示不延时加载,主要是保证get方法从数据库取值时避免延时发生错误。cascade表示当进行该操作时同时进行habinate一对一的操作。 做完映射之后不要忘记把映射文件写入hibernate.cfg.xml;
private String city;private String country;private Company company;)和Company(private int c_id;private String c_name;private Address address;),生成get,set方法,然后配置实体类的映射文件Address.hbm.xml和Company.hbm.xml。
代码:
----------Address.hbm.xm
<?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" >
<hibernate-mapping>
<class name="cn.hdu.entity.Address" table="ADDRESS">
<id name="add_id" column="ADD_ID">
<generator class="sequence"><param
name="sequence">ADDRESS_SEQUENCES</param></generator>
</id>
<property name="city" column="CITY"></property>
<property name="country" column="COUNTRY"></property>
<one-to-one name="company" cascade="save-update"
class="cn.hdu.entity.Company" lazy="false"></one-to-one>
</class>
</hibernate-mapping>
-----------Company.hbm.xml
<?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" >
<hibernate-mapping>
<class name="cn.hdu.entity.Company" table="COMPANY">
<id name="c_id" column="C_ID">
<generator class="sequence">
<param name="sequence">COMPANY_SEQUENCES</param></generator>
</id>
<property name="c_name" column="C_NAME"></property>
<many-to-one name="address" column="ADD_ID"
class="cn.hdu.entity.Address" unique="true" lazy="false"
cascade="save-update"></many-to-one>
</class>
</hibernate-mapping>
注意:上面many-to-one,并不是说是多对一,这只是说Company中address属性指向Address中的add_id属性,也就是说一对一指得是一张表中的一个字段对应另外 一张表中的一条记录。
COMPANY_SEQUENCES和ADDRESS_SEQUENCES代表数据库中两个序列, 需要自己再数据库中create;id代表主键,name=" "严格等于实体类中属性名称 ,column=" "代表数据库中表的字段名,一般规则为大写; lazy="false"表示不延时加载,主要是保证get方法从数据库取值时避免延时发生错误。cascade表示当进行该操作时同时进行habinate一对一的操作。 做完映射之后不要忘记把映射文件写入hibernate.cfg.xml;
代码:
<session-factory>
.........
<property name="show_sql">true</property>
<mapping resource="cn/hdu/entity/Company.hbm.xml" />
<mapping resource="cn/hdu/entity/Address.hbm.xml" />
</session-factory>
其中show_sql ..true;代表执行时输出sql语句。
之后去测试,写一个实现类
public class ServiceImp {
public void insertCompany(Company company) {
Session session = HibernateSessionFactory.getSession
();
Transaction tc = session.beginTransaction();
session.save(company);
tc.commit();
HibernateSessionFactory.closeSession();
}
}
测试类:
public class Test {
public static void main(String[] args) {
Service service=new ServiceImp() ;
Company company = new Company();
Address address=new Address();
address.setCity("beijin");
address.setCountry("zhonguo");
company.setC_name("正大");
company.setAddress(address);
service.insertCompany(company);
System.out.print("OK...");
}
然后看下数据库中两个表,应有插入数据。
<session-factory>
.........
<property name="show_sql">true</property>
<mapping resource="cn/hdu/entity/Company.hbm.xml" />
<mapping resource="cn/hdu/entity/Address.hbm.xml" />
</session-factory>
其中show_sql ..true;代表执行时输出sql语句。
之后去测试,写一个实现类
public class ServiceImp {
public void insertCompany(Company company) {
Session session = HibernateSessionFactory.getSession
();
Transaction tc = session.beginTransaction();
session.save(company);
tc.commit();
HibernateSessionFactory.closeSession();
}
}
测试类:
public class Test {
public static void main(String[] args) {
Service service=new ServiceImp() ;
Company company = new Company();
Address address=new Address();
address.setCity("beijin");
address.setCountry("zhonguo");
company.setC_name("正大");
company.setAddress(address);
service.insertCompany(company);
System.out.print("OK...");
}
然后看下数据库中两个表,应有插入数据。
转载自网页 http://fqh1987.iteye.com/blog/791827
0 0
- spring、structs、habrinate 的文字常识解释
- Spring 与Structs的结合方法
- structs和spring的MVC优势
- 关于Hibernate Spring structs的学习
- EJB spring hibernate structs
- SSH(Structs Spring Hibernate)
- Structs 整合Spring
- spring hibernate structs
- Spring 整合Structs
- structs+spring+hibernate随笔
- 关于Structs+Spring+Hibernate项目的构建(1)
- SSH框架的架构(Structs+Spring+Hibernate)
- myeclipse中删除已经配出好的Structs,hibernater,spring方法:
- Chebyshev的文字直观解释
- structs+spring+ibatis研究开始
- Structs+Spring+Hibernate快速入门
- Structs+Spring+Hibernate快速入门
- Structs+Spring+Hibernate快速入门
- shell编程获取文件名以及文件后缀名.
- 通用固定长度编码格式的字符串查找算法的实现
- Unity5中优化VR 应用的12个技巧
- 引导滤波(guided image filtering)原理及C++实现
- Android studio 1.4 学习笔记
- spring、structs、habrinate 的文字常识解释
- [备忘]适配Android M 将HttpClient替换为HttpUrlConnection相关资料
- java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
- cocos2d-x移植到android
- LeetCode:Search for a Range
- SVN使用小结
- tomcat下部署 solr 5.3.1
- 常用知识
- works的题