博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate框架环境搭建与使用
阅读量:4699 次
发布时间:2019-06-09

本文共 6025 字,大约阅读时间需要 20 分钟。

搭建环境

一、新建一个项目 , 导包   一个是hibernate的jar包,一个是jdbc的jar包

hibernate的jar包

这些jar包全部导入

二、配置Hibernate。

1.建立hibernate.cfg.xml文件, 包所在的文件夹的project里去搜索cfg.xml复制并修改

 

 

2.配置hibernate.cfg.xml文件

org.hibernate.dialect.MySQLDialect
com.mysql.jdbc.Driver
root
jdbc:mysql://127.0.0.1:3306/myzy?characterEncoding=GBK
true

 

 

 3.每个配置项的值可以从project/etc/hibernate.properties中搜索

三、准备数据库

四、准备实体(建议使用:引用类型。建议类名属性名与列名一致)

package com.itnba.maya.model;public class Fruit {    public String getIds() {        return ids;    }    public void setIds(String ids) {        this.ids = ids;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Double getPrice() {        return price;    }    public void setPrice(Double price) {        this.price = price;    }    public String getSource() {        return source;    }    public void setSource(String source) {        this.source = source;    }    public Integer getNumbers() {        return numbers;    }    public void setNumbers(Integer numbers) {        this.numbers = numbers;    }    public String getImage() {        return image;    }    public void setImage(String image) {        this.image = image;    }    private String ids;    private String name;    private Double price;    private String source;    private Integer numbers;    private String image;}

五、准备映射文件 实体类名.hbm.xml 例:Fruit.hbm.xml

1.建立:实体类名.hbm.xml文件。包所在的文件夹的project里去搜索hbm.xml复制并修改

要跟实体类放一个包里

2.配置实体类名.hbm.xml文件

 六、写代码

说明:这里的session不是web中的session。

web中的session代表的是客户端与web服务器之间的会话。
这里的session指的是程序与数据库之前的会话,它是由hibernate进行管理的。

添加

package com.itnba.maya.test;import java.util.List;import org.hibernate.*;import org.hibernate.cfg.*;import com.itnba.maya.model.Fruit;public class AA {    public static void main(String[] args) {        //读取hibernate.cfg.xml的配置,加载Hiberna的类库        Configuration config=new Configuration().configure();        //根据配置,生成session工厂        SessionFactory factory= config.buildSessionFactory();        //用工厂生成session        Session session =factory.openSession();        //添加        //1.造对象                Fruit data = new Fruit();                data.setIds("s002");                data.setName("芒果");                data.setSource("博山");                data.setPrice(10.0);                data.setNumbers(200);                data.setImage("无");        //2.用session.save()保存到数据库了                try{                    session.beginTransaction();                    session.save(data);                    session.getTransaction().commit();                }                catch(Exception ex){                    session.getTransaction().rollback();                }                        session.close();    }}

 

查询

package com.itnba.maya.test;import java.util.List;import org.hibernate.*;import org.hibernate.cfg.*;import com.itnba.maya.model.Fruit;public class AA {    public static void main(String[] args) {        //读取hibernate.cfg.xml的配置,加载Hiberna的类库        Configuration config=new Configuration().configure();        //根据配置,生成session工厂        SessionFactory factory= config.buildSessionFactory();        //用工厂生成session        Session session =factory.openSession();                 //查询                //查单条数据                Fruit data=session.get(Fruit.class, "k001");                System.out.println(data.getName()+data.getPrice()+data.getNumbers());                                //查询所有数据                List
list = session.createQuery("from Fruit").getResultList(); for(Fruit a:list){ System.out.println(a.getName()+a.getPrice()+a.getNumbers()); } session.close(); }}

控制台显示

删除

package com.itnba.maya.test;import java.util.List;import org.hibernate.*;import org.hibernate.cfg.*;import com.itnba.maya.model.Fruit;public class AA {    public static void main(String[] args) {        //读取hibernate.cfg.xml的配置,加载Hiberna的类库        Configuration config=new Configuration().configure();        //根据配置,生成session工厂        SessionFactory factory= config.buildSessionFactory();        //用工厂生成session        Session session =factory.openSession();                        //删除                //先查出                Fruit data = session.load(Fruit.class,"k002");//get和load都可以查                if(data!=null){                    session.beginTransaction();                    //删除提交数据库                    session.delete(data);                    session.getTransaction().commit();                }        session.close();    }}

修改

package com.itnba.maya.test;import java.util.List;import org.hibernate.*;import org.hibernate.cfg.*;import com.itnba.maya.model.Fruit;public class AA {    public static void main(String[] args) {        //读取hibernate.cfg.xml的配置,加载Hiberna的类库        Configuration config=new Configuration().configure();        //根据配置,生成session工厂        SessionFactory factory= config.buildSessionFactory();        //用工厂生成session        Session session =factory.openSession();        //修改                //1.查                Fruit data = session.load(Fruit.class,"s002");                                if(data != null){                    session.beginTransaction();                    //2.改                    data.setName("哈密瓜");                    data.setPrice(11.1);                    data.setNumbers(99);                    //3.提交                    session.update(data);                    session.getTransaction().commit();                }                        session.close();    }}

 

 

转载于:https://www.cnblogs.com/hq233/p/6497985.html

你可能感兴趣的文章
kafka安装配置
查看>>
Lateral View使用指南
查看>>
summit网页上的smt打不开 提示无法启动应用程序 请与应用程序供应商联系
查看>>
最小生成树prim
查看>>
android--多View切换viewpager
查看>>
XML与HTML的区别
查看>>
sql server 约束
查看>>
UVa 12169 - Disgruntled Judge(拓展欧几里德)
查看>>
java 过滤器filter使用案例
查看>>
Idea java 程序打jar包(maven)
查看>>
关于三体执剑者的一点思考
查看>>
String课后作业
查看>>
完美解决IE6中fixed抖动问题的方法
查看>>
[BZOJ2958]序列染色
查看>>
Unix目录结构的来历
查看>>
LinkedList 源码小解
查看>>
js 可拖动div 调整大小
查看>>
STM32之DMA
查看>>
Spring Boot + Jersey发生FileNotFoundException (No such file or directory)
查看>>
小数(decimal,double) 截取两位或多位,不四舍五入
查看>>