s2sh整合<三>
Person.hbm.xml
<DIV class=dp-highlighter>
<DIV class=bar>
<DIV class=tools>Xml代碼 </DIV></DIV>
<OL class=dp-xml>
(3)在spring配置文件applicationContext.xml配置hibernate的連接數據庫信息及sessionFactory創建方式
- <?xml version="1.0" encoding="UTF-8"?>
- <beans
- xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
- <!-- apache.dbcp連接池的配置 -->
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
- <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
- <property name="url" value="jdbc:mysql://localhost:3306/s2sh?useUnicode=true&characterEncoding=UTF-8"></property>
- <property name="username" value="root"></property>
- <property name="password" value=""></property>
- <!-- 最大活動連接數 -->
- <property name="maxActive" value="100"></property>
- <!-- 最大可空閑連接數 -->
- <property name="maxIdle" value="30"></property>
- <!-- 最大可等待連接數 -->
- <property name="maxWait" value="500"></property>
- <!-- 默認的提交方式(如果不需要事務可以設置成true,在實際應用中一般設置為false,默認為false) -->
- <property name="defaultAutoCommit" value="true"></property>
- </bean>
- <!-- 這里直接使用spring對hibernate3支持的sessionFactory -->
- <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <property name="dataSource" ref="dataSource"></property>
- <!-- hibernate方言等相關配置 -->
- <property name="hibernateProperties">
- <props>
- <prop key="connection.useUnicode">true</prop>
- <prop key="connection.characterEncoding">utf-8</prop>
- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <prop key="hibernate.show_sql">true</prop>
- </props>
- </property>
- <!-- hbm.xml的映射文件 -->
- <property name="mappingResources">
- <list>
- <value>test/s2sh/bean/Person.hbm.xml</value>
- </list>
- </property>
- </bean>
- </beans> </OL>
- <property name="url" value="jdbc:mysql://localhost:3306/s2sh?useUnicode=true&characterEncoding=UTF-8"></property> </OL>
- package test.s2sh.dao;
- import java.util.List;
- import test.s2sh.bean.Person;
- public interface PersonDAO {
- void savePerson(Person p);
- void removePerson(Person p);
- Person findPersonById(Integer id);
- List<Person> findAllPersons();
- void updatePerson(Person p);
- } </OL>
- package test.s2sh.dao.impl;
- import java.util.List;
- import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
- import test.s2sh.bean.Person;
- import test.s2sh.dao.PersonDAO;
- public class PersonDAOImpl extends HibernateDaoSupport implements PersonDAO {
- public List<Person> findAllPersons() {
- String hql = "from Person p order by p.id desc";
- return (List<Person>)this.getHibernateTemplate().find(hql);
- }
- public Person findPersonById(Integer id) {
- Person p = (Person) this.getHibernateTemplate().get(Person.class, id);
- return p;
- }
- public void removePerson(Person p) {
- this.getHibernateTemplate().delete(p);
- }
- public void savePerson(Person p) {
- this.getHibernateTemplate().save(p);
- }
- public void updatePerson(Person p) {
- this.getHibernateTemplate().update(p);
- }
- } </OL>
- package test.s2sh.service;
- import java.util.List;
- import test.s2sh.bean.Person;
- public interface PersonService {
- List<Person> findAll();
- void save(Person p);
- void delete(Person p);
- Person findById(Integer id);
- void update(Person p);
- } </OL>
如果出現亂碼問題,可以考慮如下解決方案
或者將url后面加入編碼串,如下
<OL class=dp-xml>
注意 : 這里我的數據庫編碼是utf-8
具體那種方案好用大家可以嘗試一下,我基本上直接將兩種方式都加上了。
(4)下面我們開始寫DAO層,首先創建test.s2sh.dao包放置Dao類的接口,創建test.s2sh.dao.impl包放置Dao類的實現。
PersonDAO.java
<OL class=dp-j>
由于使用了spring,所以DAO的實現類我們可以繼承HibernateDaoSupport進行實現
PersonDAOImpl.java
(5)下面我們開始進行service層的設計,這里的service層僅是簡單調用DAO層的的方法。
同樣是創建接口包(test.s2sh.service),實現包和接口類(test.s2sh.service.impl),實現類
PersonService.java
<OL class=dp-j>
</SPAN></SPAN></SPAN></SPAN>
本文由用戶 quguiliang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!