hibernate 一张数据表的流程
2024-08-25 17:15:09
1. 写一个domain类来映射数据库表
2. 写一个*.hbm.xml文件来配置映射
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.jforum.dao.common">
<class name="Member" table="T_MEMBER_INFO">
<id name="id" column="id" type="java.lang.Integer">
<generator class="sequence">
<param name="sequence">FORUM_MEMBER_ID_SEQ</param>
</generator>
</id> <property column="username" length="200" name="username" not-null="true" type="string"/>
<property column="password" length="100" name="password" not-null="true" type="string"/>
<property column="groupid" length="9" name="groupid" not-null="true" type="java.lang.Integer"/> </class>
</hibernate-mapping>
3. applicationContext.xml文件中配置读取hbm.xml
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="mappingResources">
<list>
<!-- <value>com/jforum/domain/Employee.hbm.xml</value> -->
<value>com/ROCKY/domains/member/Member.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
4. 实现dao,使用template
package com.ROCKY.daos.member; import java.util.List; import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate; import com.ROCKY.domains.member.Member; public class MemberDao
{
private SessionFactory sessionFactory;
private HibernateTemplate hibernateTemplate; /**
* 设置hibernateTemplate
*
* @return 返回hibernateTemplate
*/
public HibernateTemplate getHibernateTemplate()
{
if (hibernateTemplate == null)
{
hibernateTemplate = new HibernateTemplate(sessionFactory);
} return hibernateTemplate;
} /**
* 获取sessionFactory
*
* @param sessionFactory 要设置的sessionFactory
*/
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
} public Member get(Integer id)
{
return getHibernateTemplate().get(Member.class, id);
} @SuppressWarnings("unchecked")
public List<Member> findByName(String name)
{
return (List<Member>)getHibernateTemplate().find("from Member m where m.username=?", name);
} }
5. 也可以用
package com.ROCKY.daos.member; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.ROCKY.domains.member.Member; public class MemberDaoHibernate extends HibernateDaoSupport
{
public Member get(Integer id)
{
return getHibernateTemplate().get(Member.class, id);
} @SuppressWarnings("unchecked")
public List<Member> findByName(String name)
{
return (List<Member>)getHibernateTemplate().find("from Member m where m.username=?", name);
}
}
最新文章
- thrift 服务端linux C ++ 与客户端 windows python 环境配置(thrift 自带tutorial为例)
- Windows环境配置HTTP服务(Windows + Apache + Mysql + PHP)
- linux ssh服务器
- 3111: [Zjoi2013]蚂蚁寻路 - BZOJ
- SignalR实现B/S系统对windows服务运行状态的监测
- linux 下各errno的意义
- chrome 、 火狐等浏览器对空格符&;nbsp; 解析不同,页面显示不一致
- Android AlarmManager报警的实现
- IOS传值之代理传值(一)
- Linux下Tomcat重新启动,及kill命令的使用
- LeetCode &; Q28-Implement strStr-Easy
- node_acl 路径通配
- JavaWeb学习日记----表单提交方式
- Codeforces 765F Souvenirs 线段树 + 主席树 (看题解)
- oracle编码转换:AL32UTF8->;ZHS16GBK
- MT【54】一道二次函数问题的几何意义
- Multiplication of numbers
- OpenSSH隐藏版本号教程
- ERROR 1045 (28000): Access denied for user &#39;ODBC&#39;@&#39;localhost&#39; (using password: N O) MYSQL
- flex学习园地
热门文章
- jQuery Animation实现CSS3动画
- 另5个你不知道的HTML5接口API
- The Six Types of Rails Association
- xml写代码
- NSNotificationCenter消息机制的介绍
- [转] JavaScript 原型理解与创建对象应用
- Java基础知识强化05:不借助第三个变量实现两个变量互换
- HTML5 文件域+FileReader 分段读取文件(五)
- Android中dip,dp,sp,pt和px的区别
- EF 更新数据出现 System.Data.Entity.Infrastructure.DbUpdateConcurrencyException: 异常