Hibernate快速入门
1.Hibernate框架下载
参考:https://blog.csdn.net/yerenyuan_pku/article/details/64209343
Customer.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.yss.domain"> <!-- name:即实体类的全名 table:映射到数据库里面的那个表的名称 catalog:数据库的名称 --> <class name="Customer" table="t_customer" catalog="hibernateTest"> <!-- class下必须要有一个id的子元素 --> <!-- id是用于描述主键的 --> <id name="id" column="id"> <!-- 主键生成策略 --> <generator class="native"></generator> </id> <!-- 使用property来描述属性与字段的对应关系 如果length忽略不写,且你的表是自动创建这种方案,那么length的默认长度是255 --> <property name="name" column="name" length="20"></property> <property name="address" column="address" length="50"></property> </class> </hibernate-mapping>
1 package com.yss.domain; 2 public class Customer { 3 4 private int id; 5 private String name; 6 private String address; 7 8 public int getId() { 9 return id; 10 } 11 public void setId(int id) { 12 this.id = id; 13 } 14 public String getName() { 15 return name; 16 } 17 public void setName(String name) { 18 this.name = name; 19 } 20 public String getAddress() { 21 return address; 22 } 23 public void setAddress(String address) { 24 this.address = address; 25 } 26 @Override 27 public String toString() { 28 return "Customer [id=" + id + ", name=" + name + ", address=" + address + "]"; 29 } 30 }
hibernate.cfg.xml
<?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> <!-- 配置关于数据库连接的四个项:driverClass url username password --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///hibernateTest</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <!-- 可以将向数据库发送的SQL语句显示出来 --> <property name="hibernate.show_sql">true</property> <!-- 格式化SQL语句 --> <property name="hibernate.format_sql">true</property> <!-- hibernate的方言 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 配置hibernate的映射文件所在的位置 --> <mapping resource="com/yss/domain/Customer.hbm.xml" /> </session-factory> </hibernate-configuration>
log4j
log4j.rootLogger=INFO,CONSOLE,A log4j.addivity.org.apache=false log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} -%-4r [%t] %-5p %x - %m%n log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.A=org.apache.log4j.DailyRollingFileAppender log4j.appender.A.File=${catalina.home}/logs/qdexam_log/qdexam_ log4j.appender.A.DatePattern=yyyy-MM-dd'.log' log4j.appender.A.layout=org.apache.log4j.PatternLayout log4j.appender.A.layout.ConversionPattern=[qdexam_sys_log] %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n
配置组(作用目标target) |
配置项 |
说明 |
global |
|
Hibernate全局配置 |
|
hibernate.dialect |
hibernate使用的方言,应该和实际运行的数据库类型一致。 |
该组的其它配置请参考hibernate的相关配置 |
|
|
TransactionManagerServices.Configuration |
|
事情管理器配置,采用默认即可,该组也可以不配置。 |
|
defaultTransactionTimeout |
事务默认超时时间 |
|
|
|
Dao.Query.Configuration |
|
数据库查询相关配置 |
|
jdbc.batch.commit.count |
jdbc一次批量提交的最大记录数 |
query.max.size |
数据库查询记录集的最大阀值。 |
|
jdbc.query.sql.syntax.original.database |
sql语法的原数据库类型,配置范围为:mssql,oracle,db2 |
|
|
|