首页 > 代码库 > hibernate基本配置
hibernate基本配置
ORM
ORM(Object Relation Mapping)对象关系映射。是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。
ORM优势
ORM框架可以让我们减少乏味的代码,更加的面向对象的设计,更好的性能,更好的移植性。
创建持久化类
pojo: Plain Ordinary Java Object(无格式的Java对象)
Hibernate对pojo的要求:
–? 属性要有对应的get和set方法
–? 要有无参数的默认构造方法
–? 不要使用final进行修饰
hibernate配置文件示例
<?xml version="1.0" encoding="UTF-8"?><!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> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///test</property> <property name="connection.username">root</property> <property name="connection.password">lanxum</property> <!-- 方言 --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 数据库连接池 --> <property name="hibernate.c3p0.max_size">2</property> <property name="hibernate.c3p0.min_size">2</property> <property name="hibernate.c3p0.timeout">5000</property> <property name="hibernate.c3p0.max_statements">100</property> <property name="hibernate.c3p0.idle_test_period">3000</property> <property name="hibernate.c3p0.acquire_increment">2</property> <property name="hibernate.c3p0.validate">false</property> <!-- 控制台显示sql --> <property name="hibernate.show_sql">true</property> <!-- 线程 --> <property name="hibernate.current_session_context_class">thread</property> <!-- 配置映射文件 --> <mapping resource="com/peng/pojo/User.hbm.xml"/> </session-factory></hibernate-configuration>
运行hibernate
Configuration cfg = new Configuration().configure();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry(); SessionFactory factory = cfg.buildSessionFactory(serviceRegistry); Session session = factory.getCurrentSession();session.beginTransaction();
User user = new User(); user.setUserName("hibernate"); user.setPassword("123");session.save(user);session.getTransaction().commit();
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。