您的位置:首页 > 其它

hibernate环境搭建

2016-07-03 11:55 211 查看
1.导入jar包



2. 在src下编写hiberante.cfg.xml,DTD在hibernate3.jar中org.hibernate中hibernate-configuration-3.0.dtd

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 属性中hibernate可以省略 -->
<!-- 驱动类 -->
<property name="hibernate.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">tiger</property>
<!-- 方言:可以知道具体是哪个小版本 -->
<property name="dialect">org.hibernate.dialect.OracleDialect</property>
<!-- 显示sql -->
<property name="show_sql">true</property>
<!-- 格式化sql -->
<property name="format_sql">true</property>
<!-- 加载映射文件 -->
<mapping resource="com/bjsxt/smallming/entity/Users.hbm.xml" />
</session-factory>
</hibernate-configuration>



3.  编写实体类,并编写实体类的映射文件。文件名:实体类.hbm.xml,DTD在hibernate3.jar中org.hibernate中hibernate-mapping-3.0.dtd
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!--
name:类名
table:表名,如果表名和类名相同,可以省略
-->
<class name="com.bjsxt.smallming.entity.Users">
<id name="id" type="java.lang.Integer">
<!-- 主键生成策略 -->
<generator class="sequence">
<!-- 固定写法 -->
<param name="sequence">seq_users</param>
</generator>
</id>
<!--
name:类中属性名
column:当数据库中列名与属性名相同时可以省略
type:属性在java中的类型
-->
<property name="username" type="java.lang.String"></property>
<property name="password" type="java.lang.String"></property>
<property name="phone" type="java.lang.String"></property>
<property name="role" type="java.lang.String"></property>
</class>
</hibernate-mapping>

4. 编写测试类

Configuration:配置管理类

config();获取到全局配置文件中内容

buildSessionFactory():构建session工厂

openSession();从工厂中产生session对象

beginTransaction();开始事务

 

Session.save();保存

Session.delete();删除

Session.update();修改

Session.get(实体类.class,主键值(必须是带有id的对象或者直接是Id));主键值的类型必须跟实体类中主键类型一样。比如:实体类中主键为Long,第二个参数必须为5l(后面是ai
lu),除了这个方法还有别的查询方法load()

Commit();提交事务

Close();关闭session;

<span style="white-space:pre">		</span>// 创建配置管理类
// configure()获取到配置内容

// 使用工厂设计模式,一般情况下,工厂在每个应用程序中只需要有一个,由该工厂进行生产对应的对象
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
// 这个Session表示用户的访问对象,由hibernate产生,跟servlet中HttpSession完全是不一样
Session session = sessionFactory.openSession();
Transaction ts = session.beginTransaction();
// CRUD
// 增加
// Users users = new Users(null,"王五","123456","13777777777","管理员");
// session.save(users);
// 删除
// session.delete(new Users(6));
// 修改
// session.update(new Users(5, "赵六", "666666", "1366666666", "超级管理员"));
// 查询单行
Users users = (Users) session.get(Users.class, 5);
System.out.println(users.toString());
ts.commit();// 提交事务
// 释放资源
session.close();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: