《Java从入门到放弃》框架入门篇:hibernate基本配置

hibernate是个什么玩意呢?简单点说,就是别人写好的一套访问数据库的东东,底层其实就是JDBC。

使用JDBC就像以前没有电饭煲,我们要自己根据经验,多少人煮多少米,放多少水,用多大的火,煮多长时间,整个过程都需要自己来把控,如果把控得不好,运气好只是把饭煮成粥,运气不好就是一锅炭了。

而使用hibernate就跟使用电饭煲一样,根据刻度放水和米,然后按煮饭还是煮粥,接下来等它“叮~”的一声后,就可以吃了,不说煮得有多好,起码煮出来的是饭,而且是熟的!!!

前者没有多年煮饭经验肯定没法煮出口感十足,粒粒饱满的米饭,而后煮就算是像我一样的厨房小白也能煮出香喷可口的米饭!

到这儿,hibernate的基本特征已经很清楚了

第一:好用!!!

第二:简单!!!

第三:简单又好用!!!

好吧,牛B吹了半天了,开始上干货。具体使用步骤如下:

  1. 使用myeclipse中自带的DBBrowser先创建好一个数据库连接
  2. 右键点击项目,安装hibernate框架
  3. 在DBBrowser中找到对应的表,点击右键,生成实体类。
  4. 编写测试代码

一、在DBBrowser中创建数据库连接

二、在项目上点右键,安装hibernate框架

安装完后,在项目中会多出三个文件:

HibernateSessionFactory.java,这个是用来得到Hibernate中的Session对象的,Hibernate中的数据库操作都是由Session对象来完成(注意是Hibernate中的Session)。

hibernate.cfg.xml,这个是用来进行Hibernate相关配置的,比如连接数据库的四要素,要在控制台显示SQL语句等。

lib中的mysql-connector-java-5.1.34-bin.jar是Java用来访问mysql的驱动包。

三、在DBBrowser中对应表上点右键,生成实体类。

向导上的解释都在图上,自己看看哈。

生成完后,把*.hbm.xml文件拖到dao层包,然后修改hibernate.cfg.xml文件中的mapping中的对应路径后的项目结构如下:

四、重写实体类的toString方法,再编写测试代码(因为在这儿还没有讲Junit,所以直接使用带main方法的类来测试)

public class Test {
    public static void main(String[] args) {
        //注意Session是org.hibernate.Session
        Session session = HibernateSessionFactory.getSession();
        //load方法:根据主键得到实体类对象
        Author author = (Author)session.load(Author.class, 1);
        
        System.out.println(author);
        
        HibernateSessionFactory.closeSession();
    }
}

最终结果如下:

好了,到这儿hibernate的基本配置就OK了!具体几个配置文件里面的内容表示什么意思,如何来配置,我们下期再见!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阮一峰的网络日志

为什么文件名要小写?

上周,《中文技术文档写作规范》加入了文件的命名规则。 "文件名建议只使用小写字母,不使用大写字母。" "为了醒目,某些说明文件的文件名,可以使用大写字母,比...

2676
来自专栏FreeBuf

浅谈SQL盲注测试方法解析与技巧

本文所有实战盲注例子,均来自Joomla! 3.7.0 - ‘com_fields’ SQL Injection。(提示:本文所有外链阅读原文即可查看)

990
来自专栏有趣的Python

1-Java基础语法-Java初识

解释执行由java虚拟机完成,将字节码文件解释为具体平台上的机器指令。实现一次编译,到处运行

673
来自专栏张善友的专栏

使用WiX制作简单MSI安装程序

WiX完全用xml描述,使用命令行来生成。只要用任何一个文本编辑器就可以了。但是为了开发效率,我们还是借助于辅助工具比较好。是一般使用的工具是两个:一个Visu...

3019
来自专栏北京马哥教育

MySQL 5.7原生JSON格式支持

在MySQL与PostgreSQL的对比中,PG的JSON格式支持优势总是不断被拿来比较。其实早先MariaDB也有对非结构化的数据进行存 储的方案,称为dyn...

2806
来自专栏Python攻城狮

Python数据科学(四)- 数据收集系列1.数据型态2.结构化vs半结构化vs非结构化数据3.Python IO与档案处理

◆ 定性分析: 分析: _ 知几写了很多篇文章 ◆ 定量分析: 分析:_ 知几写了107篇文章。

712
来自专栏小白安全

SQL注入与原始的MD5散列(Leet More CTF 2010注入300)

注入300:使用原始MD5散列的SQL注入 昨天的CTF面临的一个挑战是看似不可能的SQL注入,价值300点。挑战的要点是提交一个密码给一个PHP脚本,在...

2294
来自专栏顶级程序员

为什么文件名要小写?

来自:阮一峰的网络日志 链接:www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.htm...

2665
来自专栏MYSQL轻松学

面试中有哪些经典的数据库问题?

1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引、如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯...

1130
来自专栏Golang语言社区

服务器 数据库设计技巧--2

8.应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如: select id from t wheresubstring...

2869

扫码关注云+社区