Struts2框架
hibernate框架
xml映射文件和hibernate的配置文件
在项目名的src下建立hibernate.cfg.xml
其中配置文件类似下方:
<hibernate-configuration>
<!-- 用来描述数据库的连接 -->
<session-factory>
<!-- 加载驱动 -->
<property name="connection.driver_calss">com.mysql.jdbc.Driver</property>
<!-- URL(包含数据库名称) -->
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate0909</property>
<!-- username 用户名-->
<property name="connection.username">root</property>
<!-- password 数据库登录密码-->
<property name="connection.password">root</property>
</session-factory>
<!--
hibernate 针对建表的操作如下
update 如果有表,检查表的结构,如果没有表则创建表
create-drop 启动hibernate创建表,结束hibernate删除表
-->
<property name="hbm2ddl.auto">update</property>
</hibernate-configuration>
在对应的持续化类 如:
public calss Person implement Serializable {
private long pid;
private String pname;
pirvate String sex;
public long getPid(){
return pid;
}
public String getPname(){
return pname;
}
public String getPsex(){
return psex;
}
public long setPid(long pid){
this.pid=pid;
}
public String setName(String name){
this.name=name;
}
public String setSex(String sex){
this.sex=sex;
}
}
在改类的同目录下新建名为 类名.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属性 指类的全名
table 该表对应的表名 可以不写,如果不写 默认值就是表名等于类名
catelog 数据库的名字 一般可以不写因为在前面的hibernate.cfg.xml中已经指明了数据库名称
-->
<class name="cn.itcast.hibernate0909.domain.Person" table="person">
<!--
主键:
name 描述的是属性的名称
column 数据库的字段的名称
type 类型
length 长度
-->
<id name="pid" type="java.lang.Long" length="5">
<column name ="pid"></column>
<!--
主键的产生器:increment 有hibernate产生主键
-->
<generator class="increment"></generator>
</id>
<!--其他一般属性如下用property来描述-->
<property name="pname" type="java.lang.String" length="20">
<!-- column可以不写 如果不写就是默认为属性的名称-->
<column name="pname"></column>
</property>
<property name="psex" type="java.lang.String" length="20">
<!-- column可以不写 如果不写就是默认为属性的名称-->
<column name="psex"></column>
</property>
</class>
</hibernate-mapping>
Spring框架