S2SH整合以及图片上传(2)之hibernate搭建(1)
程序员文章站
2022-07-14 23:42:23
...
接下来,我们对原来的项目进行hibernate框架的添加。
由于此时,我们用的S2SH,所以,hibernate就被spring给接管了,只需在spring配置文件applicationContext.xml中进行配置即可。
话不多说,具体流程操作如下。
第一步,在新建的web项目的/TestUpload/WebRoot/WEB-INF/lib目录中,粘贴如下图所示的hibernate的开发jar包:
当然了,有对数据库的操作,自然少不了mysql连接包啦。
在新建的web项目的/TestUpload/WebRoot/WEB-INF/lib目录中,粘贴如下图所示的mysql的开发jar包:
第二步,在spring配置文件applicationContext.xml中配置数据源:
<!-- 配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/bbs?useUnicode=true&characterEncoding=utf-8&autoReconnect=true"/>
<property name="username" value="root"/>
<property name="password" value="1025"/>
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="30"/>
<!-- 连接池的最大值 -->
<property name="maxActive" value="500"/>
<!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->
<property name="maxIdle" value="2"/>
<!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1"/>
</bean>
第三步,在spring配置文件applicationContext.xml中配置会话工厂:
<!-- 配置会话工厂 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 设置数据源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 接管了hibernate中的对象映射文件 -->
<property name="mappingResources">
<list>
<value>com/ssh/po/Person.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=false
hibernate.format_sql=false
<!-- 由于javax.persistence.validation.mode的属性值默认是auto-->
<!-- 此处设为none,可避免出现Error applying BeanValidation relational constraints -->
javax.persistence.validation.mode=none
</value>
</property>
</bean>
第四步,配置pojo对象,以及映射文件Person.hbm.xml,如下所示:
Person对象的内容如下:
package com.ssh.po;
public class Person {
private Integer id;
private String name;
private String imgurl;
//实体对象必须有一个无参的构造器
public Person() {
super();
}
//此处使用构造器,是为了方便测试hibernate
public Person(String name, String imgurl) {
super();
this.name = name;
this.imgurl = imgurl;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImgurl() {
return imgurl;
}
public void setImgurl(String imgurl) {
this.imgurl = imgurl;
}
}
Person.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 package="com.ssh.po">
<class name="Person" table="_person">
<!-- 主键生成策略 -->
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="name" type="java.lang.String">
<column name="name" length="20" not-null="true" />
</property>
<property name="imgurl" type="java.lang.String">
<column name="imgurl" length="20" not-null="true" />
</property>
</class>
</hibernate-mapping>
上一篇: S2SH整合开发——登录