hibernate环境搭建
2016-07-03 11:55
211 查看
1.导入jar包
![](https://img-blog.csdn.net/20160703122747471)
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;
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();
相关文章推荐
- 验证iOS应用的无障碍特性
- 一个简单的日志方法
- Mysql常用的数据类型以及转换函数
- Ubuntu Server版安装Gnome图形桌面
- 纯SpringMVC搭建 HelloWord
- Mysql表结构操作,crud操作
- 动态链接库dll
- 设计模式入门
- 浅谈NAT服务
- GitHub Security Update: Reused password attack
- Android微信支付开发
- Mysql用户结构,用户管理,权限管理
- 在github中托管项目
- h5+css 圆角菜单
- C++中cin/cout的用法
- Mysql介绍目录结构,常用的客户端,体系结构,常用命令
- android模拟器没法通过localhost访问本地服务器的解决
- Intellij Idea 15中开发Maven+osgi项目(Apache felix环境)
- CS50笔记
- redis总结