一.配置文件
1、hibernate.cfg.xml 配置文件
<hibernate-configuration>
<!-- session 工厂的配置 -->
<session-factory>
<!-- jdbc 配置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">
<!-- url 的两种配置方式 -->
<!-- jdbc:mysql://localhost:3306/hibernate4-->
jdbc:mysql:///hibernate4
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- 数据库方言hibernate 支持多种数据库,通过设置方言 hibernate 才知道应该生成对应数据库的 sql 语句:hibernate 支持的数据库的方言hibernate.properties 文件中都有-->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 打印 hibernate 生成的 sql 语句 -->
<property name="show_sql">true</property>
<!-- 格式化打印的 sql 语句 -->
<property name="format_sql">true</property>
<!-- 根据不同值,进行数据表表的操作
create 每次执行 都删除原有表,然后创建新表
create-drop 执行前创建表,执行后删除表
update 如果有则不改变表,如果没有则创建
-->
<property name="hbm2ddl.auto">update</property>
<!-- 将所有映射文件添加到这里 -->
<mapping resource="cn/sxt/pojo/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
2、*.hbm.xml 映射文件讲解
<!-- 类的映射文件信息 -->
<!-- package 指定类的包名 可以不配置 如果不配置 那么在配置 class 的name 时需要指定该类所在包-->
<hibernate-mapping>
<!-- class 配置类 name 指类名 table 指定表名 如果不写,默认类名为表名-->
<class name="cn.sxt.pojo.User" table="t_user">
<!-- id 主键的配置 name 配置类的属性名
column 数据库字段名 不写和属性名一致
type 指定属性的类型
length 指定字段的长度
-->
<id name="id" column="id">
<!-- 主键的生成策略
increment:用于为 long, short 或者 int 类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。
identity:对 DB2,MySQL, MS SQL Server, Sybase 和HypersonicSQL的内置标识字段提供支持。 返回的标识符是 long, short 或者 int 类型的。
native -(如果是 mysql 自增,那么 native 和 identity 是一样)根据底层数据库的能力选择 identity, sequence 或者hilo 中的一个。
sequence:在 DB2,PostgreSQL, Oracle, SAP DB, McKoi 中使用序列(sequence),而在 Interbase 中使用生成器(generator)。返回的标识符是 long, short 或者 int 类型的。
<generator class="sequence">
<param name="sequence">user_seq</param>
</generator>
assigned:让应用程序在 save()之前为对象分配一个标示符。这是<generator>元素没有指定时的默认生成策略。
-->
<generator class="identity"></generator>
</id>
<!-- property 是配置类的属性 name 指属性名 -->
<property name="name" length="40"/>
<property name="age" />
</class>
</hibernate-mapping>
二.测试工具JUnit
1.新建一个测试类
package com.kennosaur.test;
public class Caculator {
public Integer add(Integer a,Integer b) {
return a+b;
}
}
2.新建一个test的source floder资源文件目录
编写测试类代码 ---------@Test注解和Assert断言
package com.kennosaur.test;
import org.junit.Assert;
import org.junit.Test;
public class CaculatorTest {
@Test
public void testadd() {
Caculator caculator = new Caculator();
Assert.assertEquals(3, (int)caculator.add(1, 2));
}
@Test
public void testadd1() {
Caculator caculator = new Caculator();
Assert.assertEquals(5, (int)caculator.add(null, 2));
}
}