浏览 4548 次
锁定老帖子 主题:hibernate4教程
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-05-05
1、hibernate安装文件夹中的lib->required中的包 2、导入log4j 3、导入数据库驱动 二、创建hibernate的配置文件 在src的目录下创建相应的hibernate.cfg.xml在这个文件中加入相应的数据库基本信息的配置 在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> <!-- hibernate的方言,用来确定连接的数据库 --> <propertyname="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- 数据库的连接类 --> <propertyname="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property> <!-- 数据库的连接字符串和用户名密码 --> <propertyname="hibernate.connection.url"> jdbc:mysql://localhost:3306/itat_hibernate </property> <propertyname="hibernate.connection.username"> root </property> <propertyname="hibernate.connection.password"> 123456 </property> <!-- 在使用hibernate时会显示相应的SQL --> <propertyname="show_sql">true</property> <!-- 会自动完成类到数据表的转换 --> <propertyname="hibernate.hbm2ddl.auto">update</property> </session-factory> </hibernate-configuration> 三、创建实体类 packageorg.zttc.itat.model; importjava.util.Date; publicclassUser { privateintid; privateString username; privateString password; privateString nickname; privateDate born; //set get方法省略 } 四、在实体类的包中创建相应的hbm文件,用来指定实体类和数据库映射关系 User.hbm.xml <?xmlversion="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mappingpackage="org.zttc.itat.model"> <classname="User"table="t_user"> <idname="id"> <generatorclass="native"/> </id> <propertyname="username"/> <propertyname="password"/> <propertyname="nickname"/> <propertyname="born"type="timestamp"/> </class> </hibernate-mapping> 五、将配置文件添加到hibernate的cfg的配置文件中 <!-- 加入实体类的映射文件 --> <mappingresource="org/zttc/itat/model/User.hbm.xml"/> 六、创建SessionFactory,SessionFactory是线程安全,所以整个SessionFactory应该基于单例的模式来创建 Configuration cfg = newConfiguration().configure(); //在hibernate3中都是使用该种方法创建,但是在4中被禁用了 //cfg.buildSessionFactory(); ServiceRegistry serviceRegistry = newServiceRegistryBuilder() .applySettings(cfg.getProperties()).buildServiceRegistry(); SessionFactory factory = cfg.buildSessionFactory(serviceRegistry); 七、创建session Session session = factory.openSession(); 八、通过session来进行各种操作 六、七、八的完整代码如下: @Test publicvoidtest01() { Configuration cfg = newConfiguration().configure(); //在hibernate3中都是使用该种方法创建,但是在4中被禁用了 //cfg.buildSessionFactory(); ServiceRegistry serviceRegistry = newServiceRegistryBuilder() .applySettings(cfg.getProperties()).buildServiceRegistry(); SessionFactory factory = cfg.buildSessionFactory(serviceRegistry); Session session = null; try{ session = factory.openSession(); //开启事务 session.beginTransaction(); User u = newUser(); u.setNickname("张三"); u.setPassword("123"); u.setUsername("zhangsan"); u.setBorn(newDate()); session.save(u); //提交事务 session.getTransaction().commit(); } catch(HibernateException e) { e.printStackTrace(); if(session!=null) session.getTransaction().rollback(); } finally{ if(session!=null) session.close(); } } 在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请搜索疯狂Java; 参考huiyi8素材:http://www.huiyi8.com/ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2014-05-07
出土文物
|
|
返回顶楼 | |