Java数据库访问之持久层框架:Hibernate基础
来源:互联网 发布:淘宝出售假冒违规防止 编辑:程序博客网 时间:2024/04/30 09:07
使用Hibernate框架须添加相关jar包,maven依赖配置如下
<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-core</artifactId><version>3.6.0.Final</version></dependency>
在引入Hibernate依赖后,启动项目时会默认加载hibernate.cfg.xml文件,该xml文件主要用于配置数据库设置及O-R映射关系
<?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><!--数据库URL --><property name="connection.url">jdbc:oracle:thin:@localhost:orcl</property><!--数据库用户 --><property name="connection.username">hlbert</property><!--数据库密码 --><property name="connection.password">hlbert</property><!--每个数据库对应的方言匹配其平台特性 --><property name="dialect">org.hibernate.dialect.Oracle9Dialect</property><!--是否将运行产生的sql语句输出到日志 --><property name="hibernate.show_sql">true</property><mapping resource="hbm/user.hbm.xml" /></session-factory></hibernate-configuration>O-R映射文件配置如下
<?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 package="orz.hlbert.hibernate.entity"><class name="User" table="T_USER"><id name="userId" column="fuserid"><generator class="uuid"/></id><property name="username" column="fusername" /><property name="fstatus" /><property name="fstatusLabel" formula="(SELECT DIC.FNAME FROM T_DICTIONARY DIC WHERE DIC.FCODE=fstatus AND DIC.FPARENTDMCODE='Account_Status')" /><list name="rights" table="USER_RIGHT"><!-- 外键 --><key column="username" not-null="true" /><!-- 集合的索引列 --><list-index column="order_" /><!-- 映射集合元素的数据列 --><element type="string" column="right_name" /></list></class></hibernate-mapping>POJO没什么特殊要求,普通的JavaBean即可
package orz.hlbert.hibernate.entity;import java.io.Serializable;import java.util.ArrayList;import java.util.List;@SuppressWarnings("serial")public class User implements Serializable {private String userId;private String username;private Integer fstatus;private String fstatusLabel;private List<String> rights=new ArrayList<String>();}示例代码中省略了Getter、Setter,无需赘言。基本的持久化功能测试如下:
package orz.hlbert.hibernate.entity;import java.util.ArrayList;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;public class UserTest {public static void main(String[] args) {Configuration conf=new Configuration().configure();SessionFactory sf=conf.buildSessionFactory();Session sess=sf.openSession();Transaction tx=sess.beginTransaction();//1、新增User记录//User user=new User();//user.setUsername("hlbert");//user.setFstatus(1);//sess.save(user);//2、查询,测试hbm文件formula元素//User user=(User)sess.get(User.class, "4028da284758fd06014758fd07360000");//System.out.println(user.getFstatusLabel());//3、从表关联User user=new User();user.setUsername("testList");user.setFstatus(1);List<String> rights=new ArrayList<String>();rights.add("MAINTAIN");rights.add("RETRIEVE");user.setRights(rights);sess.save(user);rights.add("DELETE");tx.commit();sess.close();sf.close();}}
0 0
- Java数据库访问之持久层框架:Hibernate基础
- 数据库持久层开发之Hibernate主键
- NET 优秀开源持久层框架 NHibernate & JAVA开源持久层框架 Hibernate
- 数据持久层框架Hibernate
- Hibernate持久层框架详解
- Java学习笔记08——持久层框架Hibernate
- 持久层框架之MyBatis
- 【Java开源 持久层框架】
- java持久层框架分析
- java持久层框架分析
- Hibernate框架基础——Java对象持久化概述
- 持久层框架hibernate相关概念
- SpringMV框架 使用hibernate做持久层
- 数据持久层框架Hibernate入门学习
- Spring+Hibernate DAO 持久层开发, Spring 用 Hibernate 访问数据库的三种方法.推荐使用回调
- Spring+Hibernate DAO 持久层开发, Spring 用 Hibernate 访问数据库的三种方法.推荐使用回调
- Hibernate学习笔记之持久层操作
- hibernate持久层,java代码创建表
- POJ1579:Function Run Fun(记忆化)
- Java中的Math数学类
- java实现mysql数据库备份与还原
- MVC自带的异步Ajax请求
- 用Log4j实现线程独立日志
- Java数据库访问之持久层框架:Hibernate基础
- TCP/IP网络协议的通俗理解,socket,http,soap。
- 分析热作摸具钢不检验试祥淬火硬度
- 杭电 1048
- 数据恢复软件哪个好,easy recovery专业恢复软件,easyrecovery免费版
- Python-Excel+Oracle
- 新的汽车音响系统
- Lua在VC环境下的编译
- hdu 2547 无剑无我