配置范本: http://www.tutorialspoint.com/hibernate/hibernate_configuration.htm
1,核心配置文件
这个配置文件可以结合Hibernate的使用来记忆。
首先,在使用Hibernate的时候,需要先构造Configuration对象,然后用Configuration建造一个SessionFactory的一个具体实现。这就是一个抽象工厂模式。可以这样来记忆:既然factory的具体信息都来自configuration,那么<session-factory>标签包含在<hibernate-configuration>标签里就显得理所应当了。
其次,<session-factory>标签下的具体信息。Hibernate本身是对jdbc的轻量封装,那么jdbc接口的信息出现在<session-factory>标签里也就理所应当了。
关于hibernate.dialect。要知道,jdbc只是一个标准,平时对不同的数据库进行jdbc连接,也要下载对应的jdbc驱动,这是因为不同的数据库的内部实现不同。至于Dialect,官网描述为Represents a dialect of SQL implemented by a particular RDBMS.(代表了特定关系数据库的sql实现) ,可以猜测dialect做的是关于sql语句的封装。
最后,实体类映射文件的根节点是<hibernate-mapping>,下面可以配置一到多个<class>标签,既可以一个实体类对应一个映射文件,也可以把多个实体类映射放在同一个文件中。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="hibernate.connection.driver_class"> com.mysql.jdbc.Driver </property> <!-- Assume test is the database name --> <property name="hibernate.connection.url"> jdbc:mysql://localhost:3306/db1 </property> <property name="hibernate.connection.username"> root </property> <property name="hibernate.connection.password"> pwd </property> <!-- List of XML mapping files --> <mapping resource="tbl1a.hbm.xml" /> <mapping resource="tbl1b.hbm.xml" /> </session-factory> </hibernate-configuration>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.pojo.Tbl1a" table="tbl1a"> <id name="id" type="int" column="id"></id> <property name="iachar" column="1achar" type="char" /> <property name="iaint" column="1aint" type="int" /> </class> </hibernate-mapping>