hibernate笔记2

hibernate加载配置文件2种方式

这种方式看源码其实就是读取固定路径固定名字的配置文件,也就是src下的hibernate.cfg.xml

Configuration configuration = new Configuration();
configuration.configure(); 

第2中就是可以传参数,看源码其实就是读取传入路径的文件。

public Configuration configure(String resource) throws HibernateException{
    log.info("configuring from resource :" + resource);
    InputStream stream = getConfigurationInputStream(resource);
    return doCongigure(stram,resource);    
} 

hibernate的增删改查

上次完成了第一个简单添加的例子,下面删除,修改,查询操作。

public class Demo(){
    static{
         Configuration configuration = new Configuration();
         configuration.configure();
         sessionFactory = configuration.buildSessionFactory();
    }
    
    //查找所有Person表中对象
    public void demoQuery(){
       Session session = sessionFactory.openSession();
       List<Person> personList = session.createQuery("from Persn").list();
       for(Person person:personList){
	    System.out.println(person.getPname());
       }
       session.close();
    }
    
    //根据ID查找一个Person
    public void demoQueryPersonByID(){
	Session session = sessionFactory.openSession();
	/**
	 * 按照主键的方式查询数据库表中的记录
	 * 第二个参数的类型必须和持久化中标示符的类型保持一致
	 */
	Person person = (Person)session.get(Person.class, 1L);
	System.out.println(person.getPname());
	session.close();
    }
    
    //2种删除方式
    public void demoDeletePerson(){
	Session session = sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();
	/**
	 * 1、根据id把值从数据库中查找出来
	 * 2、把对象删除掉
	 */
	Person person = (Person)session.get(Person.class, 1L);
	session.delete(person);

	/**
	 * 1、新创建一个person对象
	 * 2、给person对象的标示符赋值
	 * 3、调用session.delete方法删除
	 */
	Person person = new Person();
	person.setPid(2L);
	session.delete(person);
	transaction.commit();
	session.close();
    }
    
    public void testUpdatePerson(){
	Session session = sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();

	/**
	 * 1、根据id把持久化对象提取出来
	 * 2、进行修改
	 * 3、执行upate操作
	 */
	Person person = (Person)session.get(Person.class, 1L);
	person.setPsex("man");
	Person person = new Person();
	person.setPid(1L);
	session.update(person);
	transaction.commit();
	session.close();
    }
    
} 


转载于:https://my.oschina.net/u/1432304/blog/285653

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值