Hibernte配置以及junit测试笔记

Hibernate配置
junit测试
import static org.junit.Assert.*;


public class HibernateTest{
SessionFactory  factory=null;
Session session=null;
//测试之前初始化数据
@Before
public void setUp() throws Eception{
System.out.println("初始化");
Configuration config=new Configuration


().configure();

ServiceRegistry sr=new 


ServiceRegistryBuilder.applySetting(config.getProperties());
factory=config.buildSessionFactory(sr);
session=factory.openSession();



}
@After
//测试之后释放数据
public void tearDown() throws Exception{
System.out.println("结束,释放资源");
if(session.isOpen()){
session.close();
}
}

}
@Test测试方法
public void tearDown() throws Exception{
System.out.println("初始化");



} @Test
public void testAdd(){
Transaction tx=session.beginTransaction();
Person p=new Person("admin",123456,new Date


());
session.persist(p);//新增需要事务
tx.commit();


}
}
//Hibernate深入配置
access
<hibernate-mapping default-access="property">
//field(可以不需要getter/setter方法操作对象属性)
(尽量不要这样设置)
Person p=(Person)session.get(Person.class,id);//根据反射创建


对象
System.out.println(p);
<!--
1.default-access="field"对象属性状态方式设置
property:表示这个属性需要通过getter/settter方法搓澡
默认使用
2.package:指定本持久化配置文件的class的包名
auto-import:指定引入包
default-lazy:指定本持久化配置文件中的class延迟加载策略
default-cascade:指定本持久化配置文件中的class级联操作策略
<class name="Person" table="t_person">
dynamic-insert:没有赋值的属性不会参与新增操作
若为true:没有赋值的属性不会参与操作
mutable:表明该类是否允许更新
false:不允许更新,但是可以新增删除
select-before-update:true(执行更新之前先发起一条sql查询,


看看数据是否与表不一致,不一致就更新,否则不更新)
where="t_name=test2":在查询之前附带一个where查询条件
<property name="count" formula="(select (*)from 


t_Person) "/>
指定一个属性的数据来源formula对应的查询语句


public void testAdd(){


Person p=new Person();
p.setName("Xxx");
System.out.println(p);
session.beginTransaction();
session.persist(p);
tx.commit();
}
public void testUpdate(){


Person p=new Person();
p.setId(1);
p.setName("Xxx");
System.out.println(p);
session.beginTransaction();
session.Update(p);//更新需要Id
tx.commit();

}


-->
<!--property其他属性映射配置
name:指定持久化类中需要映射的属性名
column:指定表的列名(不写表示使用默认属性名)
length:指定列存储数据长度
type:指定列字段类型


-->


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值