本次搭建为普通的 javaweb 项目,并未使用 maven 进行搭建,所以请先下载好响应的 jar 包
1、需导入的 jar 包括 ssh 所需的以及 mysql 的驱动包
第二步:在 web.xml 中配置 spring 的监听器以及 struts2 的过滤器
<!-- Spring的框架的核心监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- Struts2的框架的核心过滤器的配置 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
/*表示的是拦截所有请求,struts2 拦截请求后获取 struts.xml 文件查找对应的 action,然后再调用相应的 action 中的方法。
第三步:配置数据库文件在 src 下创建 jdbc.properties 文件
内容为
jdbc.driverClass=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf-8 jdbc.username=xxx jdbc.password=xxx
第四步:在 spring 的配置文件中加载数据库文件
<!-- 引入外部的属性文件 --> <context:property-placeholder location="classpath:jdbc.properties" />
第五步:使用数据库配置文件的字段配置数据库连接池
<!-- 配置C3P0链接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClass}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean>
第六步:将数据库连接池注入 hibernate 的数据库 seesionFactory 对象中,因为数据库是交由 hibernate 的 seesionFactory 对象进行管理的,配置与数据库相关的信息
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <!-- 注入连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 配置Hibernate的属性 --> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> </props> </property>
第七部:配置事务管理器
<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 开始注解事务 --> <tx:annotation-driven transaction-manager="transactionManager" />
第八步:(可选)开启 baseDao 模式
<!-- 下面三个Bean的配置可有可无,但配置后用处更大,通常用于BaseDao类、其他Dao类或特殊工具类中 --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate" p:sessionFactory-ref="sessionFactory" /> <bean id="hibernateDaoSupport" class="org.springframework.orm.hibernate4.support.HibernateDaoSupport" p:hibernateTemplate-ref="hibernateTemplate" abstract="true"/> <bean id="sessionFactoryUtils" class="org.springframework.orm.hibernate4.SessionFactoryUtils" abstract="true"/>
然后呆 baseDao 的实现类中就可以这样子用了
private SessionFactory sessionFactory; public SessionFactory getSessionFactory() { return sessionFactory; } @Autowired public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; }
@Repository("baseDAO") @SuppressWarnings("all") public class BaseDAOImpl implements BaseDAO { private SessionFactory sessionFactory; public SessionFactory getSessionFactory() { return sessionFactory; } @Autowired public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } private Session getCurrentSession() { return sessionFactory.getCurrentSession(); } public Serializable save(T o) { return this.getCurrentSession().save(o); } public void delete(T o) { this.getCurrentSession().delete(o); } public void update(T o) { this.getCurrentSession().update(o); } public void saveOrUpdate(T o) { this.getCurrentSession().saveOrUpdate(o); } public List find(String hql) { return this.getCurrentSession().createQuery(hql).list(); } public List find(String hql, Object[] param) { Query q = this.getCurrentSession().createQuery(hql); if (param != null && param.length > 0) { for (int i = 0; i < param.length; i++) { q.setParameter(i, param[i]); } } return q.list(); } public List find(String hql, List
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于