sql语句的进化--hibernate篇

Hibernate对JDBC进行了封装:

1)Hibernate属于持久层的框架(典型三层架构:表示层、业务层、持久层),其他的持久层比如myBatis等

2)hibernate是开源的一个ORM(对象关系映射)框架

ORM,即Object-Relational Mapping,它的作用就是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。这 样,我们在操作数据库的时候,不需要再去和复杂SQL打交道,只要像操作对象一样操作它就可以了(把关系数据库的字段在内存中映射成对象的属性)。

没有hibernate之前,我们需要自己动手通过JDBC和SQL语句手动来操作数据库,而现在有了hibernate,我们可以直接对实体对象进行操作。

时间: 2024-10-20 01:55:38

sql语句的进化--hibernate篇的相关文章

Hibernate SQL实际sql语句监控- p6spy+hibernate+proxool 设置

由于ORM工具的缘故,我们调试程序的时候远没有直接在程序里直接写个string的SQL简单,想当年查个sql是有多么的幸福,一行sql = "select * from ..."找找就行了, 现在用了hibernate, 就算在JPA中开了show_sql=true, 打出来的还是一串 "name = ? and id = ? " 好在找到一个工具, p6spy, 作为真正JDBC的一个代理, 截获了所有sql, 让我们看到一个真实sql的机会. 先下载,以下配置默

SQL语句汇总(终篇)—— 表联接与联接查询

上一篇博文说到相关子查询效率低下,那我们怎么能将不同表的信息一起查询出来呢?这就需要用到表联接. 和之前的UNION组合查询不同,UNION是将不同的表组合起来,也就是纵向联接,说白了就是竖着拼起来. 而表联接是通过笛卡尔乘积将表进行横向联接,所谓的通过笛卡尔乘积简单说就是两表的行依次相联再相加.要想更详细的理解可以百度下,毕竟本文主要是汇总SQL语句. 现在有如下两张表: 这是当初老师布置的一份作业,我偷个懒就不改数据了.不过把这些真神级人物的大名贴出来做“实验”总觉得心里有很虚,更何况大部分

sql语句的进化

1.JDBC 1)JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问. 2)它由一组用Java语言编写的类和接口组成,是一个独立于特定数据库管理系统.通用的sql数据库存储和操作的公共接口. 3)JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 2.JDBC常用(重要)类/接口 1)java.sql.Driver接口: 该接口是所有JDB

mysql基本sql语句大全(基础用语篇)

1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4.说明:创建新表 cr

mysql基本sql语句大全(提升用语篇)

1.说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) 法一:select * into b from a where 1<>1(仅用于SQlServer) 法二:select top 0 * into b from a 2.说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) insert into b(a, b, c) select d,e,f from b; 3.说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) inser

SQL语句优化方式--进阶篇

MYSQL性能 最大数据量 抛开数据量和并发数,谈性能都是扯淡(扯的最疼的那种).Mysql没有限制单表最大记录数,它取决与操作系统对文件大小的限制 文件系统 单文件大小限制 FAT32(采用32位二进制数记录管理的磁盘文件) 最大4G NTFS(WindowsNT 环境的文件系统) 最大64G NTFS5.0(NTFS5.0是一个可恢复的文件系统) 最大2TB EXT2(第二代扩展文件系统) 块大小为1024字节,文件最大容量为16GB;块大小为4096字节,文件最大容量2TB EXT3(是第

Sql语句的进化--myBatis

1.MyBatis对JDBC的封装 1)MyBatis属于持久层的框架(典型三层架构:表示层.业务层.持久层),其他的持久层比如Hibernate等 2)MyBatis是开源的一个ORM(对象关系映射)框架 ORM是 Object和Relation之间的映射,包括Object->Relation和Relation->Object两方面. Hibernate是个完整的ORM框架,而MyBatis完成的是Relation->Object,也就是其所说的data mapper framewor

ORACLE数据库的SQL语句之约束——基础篇

/*修改用户密码:1.输入cmd打开dos窗口2.sqlplus/nolog3.conn/as sysdba4.alter user system identified by orcl;*/ /**数据完整性指存储在数据库中的所有数据值均正确的状态.如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性*/ CREATE TABLE tb_student(NAME VARCHAR2(18),sex CHAR(3),age INT,address VARCHAR2(100),phone

Hibernate直接执行SQL语句

又到周六时间了.我有一次帮公安局开发项目时,有这么一个需求,在做统计报表的时候,我在Oralce数据中创建了一个视图,按管辖单位进行了分组,计算了每个管辖单位涉案人数及接警人数等,数据库视图倒是出来了,但是前台需求一个时间查询,也就是客户可以按时间检索,可是视图中,只能加上固定的时间进行where查询,但不能把时间字段加进去,一旦把时间字段加进去的话,就变成了按时间分组,原本管辖单位是六十来个,按时间分组就变成了上千上万条信息,这是不合要求的,这样根本无法统计出每个管辖单位的数据,因为数据库大,