ssh学习:hibernate环境配置及开发步聚
来源:互联网 发布:react js 项目 编辑:程序博客网 时间:2024/06/06 21:02
hibernate的开发环境配置以及开发步聚
一、开发环境配置:
1.下载:hibernate下载地址
2.配置:将hibernate-release-5.0.6.Final\lib\required下的jar包全部复制到项目的lib文件目录下并将数据库的jar包一起复制进去。将hibernate-release-5.0.6.Final\project\etc下的hibernate.cfg.xml、log4j.properties文件复制到src目录下面。
二、开发步聚:
1.新建一个JavaBean类,并对属性实现get/set方法。
2.配置编写Xxx.hbm.xml文件
3.配置hibernate.cfg.xml文件
简单的实例:
bean类:
public class User implements Serializable {public int id;public String name;public int age;//还有get/set方法}
Xxx.hbm.xml文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><!-- name为对应的实体类 table为数据库的表名 --><class name="com.usc.geowind.lilin.bean.User" table="user"><id name="id" column="id"><!-- 自增 --><generator class="native"></generator></id><!-- name值为bean的属性,column为数据库的字段 --><property name="name" column="name"></property><property name="age" column="age"></property></class></hibernate-mapping>
hibernate.cfg.xml文件的配置:
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!--配置mysql数据库连接参数 --><!-- 指定数据库的方言 --><property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property><!-- 指定数据库所用的驱动 --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><!-- 指定链接的数据库的url test为数据库的名字 --><property name="hibernate.connection.url">jdbc:mysql:///test</property><!-- 用户名 --><property name="hibernate.connection.username">root</property><!-- 密码 --><property name="hibernate.connection.password">mysql</property><!-- 根据需求自动创建数据库表 --><property name="hbm2ddl.auto">update|create</property><!-- 罗列所需的影射文件 --><mapping resource="com/usc/geowind/lilin/bean/User.hbm.xml" /><!-- c3p0配置 --><!-- 配置C3P0连接池属性 --><!-- 此句必须加,很重要 不添加无法使用c3p0 --><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- 设置连接池的最大数量 --><property name="hibernate.c3p0.max_size">10</property><!-- 设置连接池的最小数量 --><property name="hibernate.c3p0.min_size">5</property><!-- 设置连接池链接数据库的时限 --><property name="hibernate.c3p0.timeout">5000</property><property name="hibernate.c3p0.max_statements">10</property></session-factory></hibernate-configuration>
这样就能简单的流程也能顺利的运行期=起来了。
简单的单元测试所实现的链接测试:
@Test public void createTable() { Configuration configuration = new Configuration().configure(); SchemaExport schemaExport = new SchemaExport(configuration); // 前一Boolean是表示是否打印在控制台 // 后一Boolean是表示是否删掉之前的重建表 schemaExport.create(true, true); }@SuppressWarnings("deprecation")@Testpublic void add() {// 实例化Configuration对象Configuration configuration = new Configuration()// 默认加载.hibernate.cfg.xml文件.configure();// 通过configuration对象直接创建buildSessionFactory对象实例,但不提倡使用// SessionFactory buildSessionFactory =// configuration.buildSessionFactory();// 通过StandardServiceRegistryBuilder创建SessionFactory实例对象StandardServiceRegistryBuilder ssrb = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());ServiceRegistry build = ssrb.build();// 创建SessionFactory对象SessionFactory sessionFactory = configuration.buildSessionFactory(build);// SessionFactory打开并回去session对象实例Session session = sessionFactory.openSession();// 开启事务Transaction beginTransaction = session.beginTransaction();// 封装数据User user = new User();user.setAge(22);user.setName("gaosi");try {// 保存数据session.save(user);// 提交事务beginTransaction.commit();} catch (Exception e) {// 事务回滚beginTransaction.rollback();} finally {// 关闭并释放session资源session.close();}}
线程绑定session:
通过getCurrentSession方法获取session对象,openSession方法获取对象比较:
前这方法获得的session对象:是根据当前线程去动态获取现有的session对象,而后者则是新建session对象;前者在事务提交活着回滚时候自动关闭,后者则要手动关闭,否则会连接池溢出。
1.在Hibernate.cfg.xml中添加属性:
<!-- 配置session绑定到当前线程上 --><!--本地事务--><property name="hibernate.current_session_context_class">thread</property>
<!--全局事务--><property name="hibernate.current_session_context_class">jba</property>
2.获取session对象:
//通过getCurrentSession方法获取session对象sessionFactory.getCurrentSession();
0 0
- ssh学习:hibernate环境配置及开发步聚
- 传智播客hibernate学习,开发环境配置
- ubuntu开发环境搭建(一)ssh安装及配置
- hibernate学习(环境配置)
- SSH网上商城环境配置—浅析Hibernate
- 在ssh环境中配置Hibernate框架
- Hibernate学习笔记之开发环境的配置
- SSH开发环境的配置:web.xml、Spring集成hibernate和Spring集成Struts2
- SSH结构的环境搭建及配置
- SSH:Hibernate框架(Hibernate继承关系映射及配置)
- 手动配置及开发Hibernate
- ubuntu14.0.4配置javaweb开发环境第二步安装tomcat
- ubuntu14.0.4配置javaweb开发环境第三步安装eclipse
- ubuntu14.0.4配置javaweb开发环境第六步安装mysql
- 七步配置phonegap+cordova+ionic开发环境
- 七步配置phonegap+cordova+ionic开发环境
- [SSH框架初学笔记]ssh环境搭建及配置
- 学习笔记(1)--android开发安装及环境配置
- ssh学习:struts2的动态调方法调用
- ssh学习:struts2的返回结果集input
- 装饰模式
- ssh学习:struts2的输入校验
- Ubuntu 14.04进不了登录界面的修复
- ssh学习:hibernate环境配置及开发步聚
- 从2月14号开始,上传AppStore会碰到:Failed to locate or generate matching signing assets
- ssh学习:hibernate中 Session缓存及基本操作
- ssh学习:hibernate中 HQL基本 查询
- ssh学习:hibernate中 集合属性的操作
- win10 下Genymotion无法打开问题
- ssh学习:struts2与Android交互
- ssh学习:hibernate关系映射(1)
- 解决Mac下Android SDK Manager联网失败的问题