Hibernate1Day01

12 篇文章 0 订阅
5 篇文章 0 订阅

Hibernate是一个持久层的框架,主要用于数据的存储,简单的使用步骤。
1、基于MVC设计模式分包
①com.web.bean 主要存放实体类也就是表和类之间的映射关系,实体类中有表中相应的字段,提供get/set方法,实现序列化接口,有无参的构造函数,属性名小写。
②com.web.dao 主要用于和数据库进行交互
③com.web.service 主要用于进行事务处理
④com.web.hbm 主要用来保存格式为xx.hbm.xml,进行表与实体类之间的关联映射
以dept为例

<?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>
  <class name="com.web.bean.Dept" table="dept">
       <id name="deptno" column="deptno">
         <generator class="assigned"></generator>
       </id>
       <property name="dname" column="dname"></property>
       <property name="loc" column="loc"></property>
  </class>
</hibernate-mapping>

⑤com.web.test 测试类,主要用来测试程序是否可以正常运行
在src根目录下还有hibernate…cfg.xml配置文件,主要内容包含数据库的注册驱动,url,用户名,密码,方言,是否展现sql语句,还有映射文件的导入,在导入映射文件的,是文件夹的格式

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<hibernate-configuration>
  <session-factory>
    <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
    <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
    <property name="connection.username">scott</property>
    <property name="connection.password">123456</property>
    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
    <property name="show_sql">true</property>
    <mapping resource="com/web/hbm/dept.hbm.xml"></mapping>
  </session-factory>
</hibernate-configuration>

同时还需导入数据库的包,在主函数调用通过

//初始化配置
    	Configuration conf = new Configuration();
    	//创建session工厂
    	SessionFactory sessionFactory =  conf.configure().buildSessionFactory();
    	//创建session对象
    	Session session = sessionFactory.openSession();
    	//开启事务
    	Transaction transaction = session.beginTransaction();
    	
    	//增加数据
//    	Dept dept = new Dept(50, "aaa", "bbb");
//    	session.save(dept);
    	
        //修改数据
//    	Dept dept = new Dept(50,"ccc","ddd");
//    	session.update(dept);
    	
    	//删除数据
//    	Dept dept = new Dept(50);
//    	session.delete(dept);
    	
    	//查询单个对象
//    	Dept d  = (Dept) session.get(Dept.class, 40);
//    	System.out.println(d);
//    	transaction.commit();
    	
    	//查询返回集合
//    	java.util.List<Dept> list  = session.createCriteria(Dept.class).list();
//    	for(Dept d:list){
//    		System.out.println(d);
//    	}
    	//HQL
    	String hql = "from Dept where deptno>20";
    	java.util.List<Dept> list2 = session.createQuery(hql).list();
    	for(Dept d:list2){
    		System.out.println(d);
    	}
    	
    	}

可完成数据库基本的增删改查任务,这些增删改查的代码段可以放置再com.web.dao的deptDao类中。这样才比较符合mvc设计模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值