ORM Object-Relational Mapping ist eine Programmiertechnologie, die zum Konvertieren von Daten zwischen verschiedenen Systemtypen in objektorientierten Programmiersprachen verwendet wird. Tatsächlich wird dadurch eine „virtuelle Objektdatenbank“ erstellt, die in einer Programmiersprache verwendet werden kann. In diesem Artikel wird hauptsächlich der ORM-Modulcode von Spring ausführlich erläutert, der einen bestimmten Referenzwert hat. Freunde, die ihn benötigen, können mehr erfahren.
Eine kurze Einführung in die sieben Hauptmodule des Spring-Frameworks
Detaillierte Erläuterung des MVC-Modulcodes in Spring
ORM-Modul ist sehr nützlich für Hibernate, JDO, TopLinkiBatis und andere ORM-Frameworks bieten Unterstützung
ORM-Module basieren auf dom4j.jar, antlr.jar und anderen Paketen
Im Frühjahr müssen Hibernate-Ressourcen vorhanden sein Spring ist eine spezielle Bean, die von Spring, Hibernate und seiner SessionFactory sowie anderen Wissensdatenbanken verwaltet wird. Spring ist für die Instanziierung und Zerstörung verantwortlich. Daher muss die DAO-Schicht nur HibernateDaoSupport erben und sich nicht mit der API von Hibernate befassen. Sie muss die Sitzung und Transaktion von Hibernate nicht öffnen oder schließen >
public interface ICatDao{ public void createCat(Cat cat); public List<Cat> listCats(); public int getCatsCount(); public Cat findCatByName(String name); }
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class CatDaoImpl extends HibernateDaoSupportimplements ICatDao{ public void createCat(Cat cat){ this.getHibernateTemplate().persist(cat); } public List<Cat> listCats(){ return this. getHibernateTemplate().find("select cfrom Cat c"); } public int getCatsCount(){ Number n = (Number)this.getSession(true).createQuery("selectcount(c) from Cat c").uniqueResult(); return n.intValue(); } public Cat findCatByName(String name){ List<Cat> catList =this.getHibernateTemplate().find("select c from Cat where c.name = ?",name); if(catList.size()>0) return catList.get(0); return null; } }
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" destroy-method="destroy"> <property name="dataSource" ref="dataSource" /> <!-- 该Package下的所有类都会被当做实体类加载--> <property name="annotatedPackages" value="classpath:/com/clf/orm" /> <property name="anotatedClasses"> <list> <value>com.clf.spring.orm.Cat</value> <value>com.clf.spring.orm.Dog</value> </list> <property name="hibernateProperties"> <props> <prop key="hiberante.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="catDao" class="com.clf.spring.orm.CatDaoImpl"> <property name="sessionFactory" ref=" sessionFactory"/> </bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" destroy-method="destroy"> <property name="mappingResources"> <list> <value>classpath:/com/clf/orm/Cat.hbm.xml</value> </list> </property> …… </bean>
public interface ICatService{ public void createCat(Cat cat); public List<Cat> listCats(); public int getCatsCount(); }
public class CatServiceImpl implements ICatService{ private IDao catDao; public IDao getCatDao(){ return catDao; } public void setCatDao(IDao dao){ this.catDao = dao; } public void createCat(Cat cat){ catDao.createCat(cat); } public List<Cat> listCats(){ return catDao.listCats(); } public int getCatsCount(){ return catDao.getCatsCount(); } }
<!-- 事务管理器--> <bean id="hibernateTransactionManager" class=" org.springframework.orm.hibernate3.HibernateTransactionManager "> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!-- 事务管理规则--> <bean id="hibernateTransactionAttributeSource" class=" org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource"> <property name="properties"> <props><!-- 为所有方法加上事务--> <propkeypropkey="*">PROPGATION_REQUIRED</prop> </property> </bean> <!-- 事务工厂代理类,将Service实现类、事务管理器、事务管理规则组装在一起--> <bean id="catService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref=" hibernateTransactionManager"> <property name="target"> <bean class="com.clf.spring.orm.CatServiceImpl" > <property name="catDao" ref="catDao"/> </bean> </property> <property name="transactionAttributeSource" ref=" hibernateTransactionAttributeSource" /> </bean>
Verwandte Empfehlungen:
Vorteile des Spring-Frameworks im Java-FrameworkDetaillierte Erklärung von SpringAop in Java
Eine kurze Einführung in Spring MVC
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des ORM-Modulcodes von Spring. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!