hibernate框架

步骤:

1,在myeclipse中数据库的选项中,链接一个数据库

2,创建一个项目,添加hibernate支持

3,然后在返回数据库,找到要映射的表,右键然后选择hibernate

4,创建完成的项目可以选择自动生成dao层和自己手写dao层的

我们接下来就是以自动生成的为例

在第一步的时候我们用的是这条语句

jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=utf-8

在生成配置文件以后,hibernate.xml会报错,这是我们到他的source界面去处理,在url这栏输入

jdbc:mysql://127.0.0.1:3306/goods?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC

test测试类

package com.bdqn.test;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

import com.entitydao.Goods;
import com.entitydao.GoodsDAO;

public class Test {
	public static void main(String[] args) {
		Configuration configuration = new Configuration().configure();
		SessionFactory factory = configuration.buildSessionFactory();
		//直接调用到
		GoodsDAO dao = new GoodsDAO();
		//这个到可以调用所有的方法,不过是有bug的因为这里的底层方法,都没有开启事物提交事务,所以要手动修改底层代码
		dao.save(new Goods("金前旺", 1000));
	}
}

但是测试类的方法是不行的有bug,所以需要到底层去修改

 public void save(Goods transientInstance) {
        log.debug("saving Goods instance");
        try {
        	//这里的问题就在于没有自动开启事物,所以我们就手动的给它开启和提交
        	getSession().beginTransaction();
            getSession().save(transientInstance);
            //然后在提交
            getSession().getTransaction().commit();
            //结束方法
            getSession().close();
            log.debug("save successful");
        } catch (RuntimeException re) {
            log.error("save failed", re);
            throw re;
        }
    }

 

你可能感兴趣的:(hibernate框架)