由于在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,但是我对hibernate技术几乎是一点不了解,只是知道它是一个orm对象映射框架,所以在初探的章节做一下hibernate的简单了解,以及应用。顺便提一句,我用的是maven添加的hibernat
由于在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,但是我对hibernate技术几乎是一点不了解,只是知道它是一个orm对象映射框架,所以在初探的章节做一下hibernate的简单了解,以及应用。顺便提一句,我用的是maven添加的hibernate开发包
简单使用hibernate的一般步骤
*创建并且编辑hibernate配置文件
该配置文件主要是用于链接数据库所用,定义了数据库的驱动程序和映射文件的位置,如下是一个简单的配置
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <property name="show_sql">true</property> <property name="connection.driver_class"> org.gjt.mm.mysql.Driver </property> <property name="connection.url"> jdbc:mysql://localhost:3306/pgwt </property> <property name="connection.username"> root </property> <property name="connection.password"> 1234 </property> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <mapping resource="com/springframework/hibernate/test.hbm.xml" /> </session-factory> </hibernate-configuration>
根据这个配置文件可以看出,所有的配置信息都是包含在
show_sql属性是一个boolean值,代表的是在进行数据库操作的时候是否在控制台输出sql语句,在调试的时候非常有用
connection.driver_class代表的是数据库的jdbc驱动程序,我这里使用的是mysql所以就是org.gjt.mm.mysql.Driver
connection.url代表的是访问数据库的url
connection.username 代表的是登录数据库时候的用户名
connection.password 代表的是登录数据库时候的密码
dialect代表的是一种数据库的方言,可以为数据库中的属性设置一些默认值(我目前是这么理解的,以后再深入研究一下)我知道了一个网页内容是数据库对应的方言的类,可以参考一下百度文库地址
*创建数据库表
简单的创建一个user的数据库表分别有userid,name,password字段
*创建和数据库表对应的javaBean类
如下是一个简单的javaBean
package com.springframework.hibernate; public class User { private String userid; private String name; private String password; public String getUserid() { return userid; } public void setUserid(String userid) { this.userid = userid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
映射文件中包括了一些配置信息,代码之后会逐一介绍一下配置信息的含义,配置文件如下
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.springframework.hibernate.User" table="user"> <id name="userid" column="userid"> <generator class="assigned" /> </id> <property name="name" column="name" /> <property name="password" column="password" /> </class> </hibernate-mapping>
所有的配置信息都是写在
*创建一个场景类(主函数)
代码如下
package com.springframework.hibernate; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class Client { public static void main(String[] args) { try { SessionFactory sf = new Configuration().configure() .buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); for (int i = 0; i < 100; i++) { User newuser = new User(); newuser.setUserid("userid" + i); newuser.setName("name" + i); newuser.setPassword("password" + i); session.save(newuser); } tx.commit(); session.close(); } catch (Exception e) { e.printStackTrace(); } } }
hibernate是通过SessionFactory来启动hibernate(通过配置文件与数据连接),session对象当中包含一些数据库操作的方法
以上是一些使用hibernate的基本方法,了解了以上的知识就可以继续往下学习Spring了,以后再来完善有关hibernate的实战笔记。