Hibernate之全面认识
2016-12-27 09:08
176 查看
Hibernate体系架构
Hibernate通过配置文件管理底层的JDBC连接,将用户从原始的JDBC释放出来,使得用户无需再关注底层的JDBC操作,而是以面向对象的方式进行持久化操作。这种全面的解决方案架构如下(插图来自官方文档 manual:Comprehensive architecture)1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 5 <hibernate-mapping package="hib"> 6 <class name="News" table="news_table"> 7 <id name="id" column="id" type="int"> 8 <generator class="identity" /> 9 </id> 10 <property name="title" type="string" column="title" /> 11 <property name="content" type="string" column="content" /> 12 </class> 13 </hibernate-mapping>
View Code
3.不使用任何配置文件,所有配置都以编码方式(.setProperty(key,value))来创建Configuration对象
1 public static void noConfigFile() { 2 Configuration cfg = new Configuration() 3 .addClass(hib.News.class) 4 .setProperty("hibernate.connection.driver_class","com.mysql.jdbc.Driver") 5 .setProperty("hibernate.connection.url","jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8") 6 .setProperty("hibernate.connection.username", "root") 7 .setProperty("hibernate.connection.password", "") 8 .setProperty("hibernate.c3p0.max_size", "20") 9 .setProperty("hibernate.c3p0.min_size", "1") 10 .setProperty("hibernate.c3p0.max_statements", "100") 11 .setProperty("hibernate.c3p0.timeout", "5000") 12 .setProperty("hibernate.c3p0.idle_test_period", "3000") 13 .setProperty("hibernate.c3p0.acquire_increment", "2") 14 .setProperty("hibernate.validate", "true") 15 .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect") 16 .setProperty("hibernate.hbm2dll.auto", "create") 17 .setProperty("hibernate.show_sql", "true"); 18 SessionFactory sf = cfg.buildSessionFactory(); 19 Session sess = sf.openSession(); 20 Transaction tx = sess.beginTransaction(); 21 News n = new News(); 22 n.setTitle("举头望明月"); 23 n.setContent("低头思故乡"); 24 sess.save(n); 25 tx.commit(); 26 sess.close(); 27 }
相关文章推荐
- Hibernate之全面认识
- 全面认识敏捷建模思想(1)
- 全面认识JUnit4.0
- Hibernate的初步认识
- 并发编程1:全面认识 Thread
- 全面认识浏览器工具条
- 全面认识F5负载均衡
- Hibernate4 认识Java Project简单实用
- Hibernate查询缓存全面分析
- (十二)Hibernate之基于注解方式的各种映射全面总结
- 帮您全面认识敏捷建模思想
- 对Hibernate完成持久化的认识及总结
- 全面深入认识C变量
- 全面认识网络诊断命令功能与参数——netsh diagnostic命令 推荐
- 学好hibernate系列之认识hql语句
- 一起谈.NET技术,全面认识一下.NET 4的缓存功能
- 全面认识UML类图元素
- 全面认识.NET框架(一)
- 全面认识JUnit 4的新特征
- 全面认识快照(Snapshot)技术