创建简单hibernate项目步骤

1new -- javaproject--输入项目名称  (与web没有关系,只与jdbc有关系的)


(2)添加数据库。首先显示, windows--show views--other--

选择DB Browser



(3)可以看到显示,右键空白处


(4)可以看到显示,右键空白处new

如果是mysql:选择MYSQL Connector/J


如果是oracle:选择Oracle(Thin driver)


(5)弹出classname,点击finish。可以看到已经完成。


(6)右键数据库,选择对应的库,表,右键--Hibernate reverse engineering--


(7)选择包,选择对应的选项--next



(8)选择native--next



(9)先别急着点击finish,点击表--输入  entity.Car。意思是entity包下创建Car类,然后选择native--点击finish




(10)生成下边的,再创建一个sql--new file--输入名字:dosql.sql文件。


(11)创建sql文件后,输入语句:select * from emp;sql results中可以查看。





在自动生成emp实体类,自动生成 Emp.hbm.xml 。这些是根据数据库生成的java代码和配置文件。接着来写测试类


在自动生成emp类中sourse--new一个toString方法。


(12)创建HibernateTest类。

 

import java.util.List;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

import entity.Emp;

 

public class HibernateTest {

public static void main(String[] args) {

//Hibernate的配置类对象,用于创建SessionFactory.

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

//会话(session)工厂, 用于创建Session的. 等价于jdbcConnection

SessionFactory factory = conf.buildSessionFactory();

 

//开启会话

Session session = factory.openSession();

//通过会话 curd操作.

//保存一个对象,通过测试

saveEmpTest(session);

//修改对象,通过测试

//updateEmpTest(session);

//删除一个,通过测试

//removeEmpTest(session);

//查询一个对象,通过测试

queryEmpById(session, 7900);

//查询列表

queryEmpList(session);

queryEmpListByDeptno(session, 10);

//会话完毕之后要关闭

session.close();

//关闭工厂

factory.close();

}

static void saveEmpTest(Session session){

Emp emp = new Emp();

emp.setEmpno(1); //由于hbm重配置的主键生成策略是native, 所以指定的工号无效..

emp.setEname("新建的名字");

session.beginTransaction(); //开启事务

session.save(emp);

session.getTransaction().commit();//提交事务

}

static void updateEmpTest(Session session){

/*Emp emp = new Emp();

emp.setEmpno(1);

//emp.setEname("DEF");

emp.setSal(1000.0);

session.update(emp);*/

//先查出对象(持久化状态的).

Emp emp = (Emp)session.get(entity.Emp.class, 7938);//类名,后边参数是写编号,修改名字。

//修改对象属性

emp.setEname("Sam");

session.beginTransaction(); //开启事务

session.getTransaction().commit();//提交事务

}

//删除表格,成功删除

static void removeEmpTest(Session session){

Emp emp = new Emp();

emp.setEmpno(7938);

session.delete(emp);

session.beginTransaction(); //开启事务

session.getTransaction().commit();//提交事务

}

static void queryEmpById(Session session , Integer empno){

Emp emp = null;

emp = (Emp)session.get(entity.Emp.class, empno);

//emp = (Emp)session.load(entity.Emp.class,empno);

//---get / load 有区别

System.out.println(emp);

}

//HQL查询

static void queryEmpList(Session session){

Query query = session.createQuery("from Emp");

List<Emp> empList = query.list();

System.out.println(empList);

}

static void queryEmpListByDeptno(Session session, Integer deptno){

Query query = session.createQuery("from Emp where deptno = :deptno");

query.setParameter("deptno", deptno);

List<Emp> empList = query.list();

System.out.println(empList);

}

}

 

(13)运行程序,可以看到下边打印出数据库的信息。



(14)一个简单的hibernate程序创建成功了,接着就可以写程序啦。

 

 

错误提示:原因是服务器没开。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值