- 博客(35)
- 资源 (9)
- 收藏
- 关注
原创 Hibernate ----- list,map 映射
在hibernate内中常用的是set集合,那是否可以使用list集合或者map呢?可以。1.基于集合的映射:list我们有两个实体,为grade和student。当我们把grade中的属性set改为list。配置文件也需要做处理:更改两处:首先把set改为list,然后新增加一个属性为list-index。用来在我们的数据库中表示顺序的(因为set集合是无序的但是list集合是有序的,因此set...
2018-04-30 20:04:24 346
原创 Hibernate ----- hibernate如何实现单向n:m、双向n:m
Hibernate ----- hibernate如何实现n:m1.单向的多对多创建两个实体类,role中有一个set的集合,但是function中只有普通的4个属性。相应的配置文件如下:function.hbm.xmltest测试结果:2.双向多对多表的结构不会变化,但是指向是双向上面单项的多对多的代码不变,并在此基础上添加在function中添加一个set属性改变映射文件进行测试数据库:输出...
2018-04-30 19:18:59 182
原创 如何创建一个hibernate和struts整合的程序框架(包和配置文件)
很多人在编写java的时候使用maven自动添加架包,这种自动化的方式很方便,但是同时我们也应该知道如何添加架包。目录找到两个框架的核心架包在myeclipse中创建所有的库把库导入到我们的项目中配置hibernate.cfg.xml配置struts2.xml1.找到核心架包首先是hibernate框架下载后解压缩为如下形式找到其中的required如图为核心包struts架包首先下载解压后打开找...
2018-04-29 20:11:58 259
原创 hibernate如何实现表的单向1:n、双向多对一(代码)
在数据库中如果对表和表的关系的描述主要是一对一,多对一和多对多。但是在hibernate编写的时候多对一是有方向的。虽然都是在数据表中增加一个外键列,但是添加的方式有两种。产生的效果也是不同的。为什么呢?因为如果你在一方代码如下:创建两个实体类: Student + Grade他们数据库的定义是:下面代码为双向多对一。双向多对一就是把单项的一对多和多对一都写上。使得数据可以双向访问。如果要一对多就...
2018-04-27 01:06:17 321
原创 Hibernate ------ flush和commit的区别
目录:1. flush()是什么?怎么工作的?2.commit()是什么?怎么工作的?3.二者的区别是什么?4.主键的生成策略的不同会影响save函数执行sql语句的时间和缓存的清理吗?flush和commit的区别 1、flush()方法进行清理缓存的操作,执行一系列的SQL语句,但不会提交事务; commit()方法会先调用flush()方法,然后提交事务. 提交事务意味着对数...
2018-04-26 23:01:23 2385
原创 Hibernate ----- 事物的深入理解
事务的成功取决于工作单元的所有SQL语句都执行成功,它必须具备ACID特征,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和持久性(Durability),它们的含义是:(1) 原子性:事务是不可分割的工作单元,事务中所有操作执行成功事务才算成功(2) 一致性:事务不能破坏数据的完整性和一致性(正确性)(3) 隔离性:在并发环境...
2018-04-26 15:47:07 294
原创 Hibernate ------ 缓存的理解
为什么hibernate有缓存的机制?hibernate框架作为一个连接着application和database的框架,他需要频繁对物理数据库进行访问。当我们在内存中创建一个缓存的时候,把一些特殊的物理数据库中的数据copy到缓存中,当application进行某些操作的时候,会先在缓存中找是否有想要的结果,有就拿来用,不需要对底层的物理数据库进行操作。这样增加整体的性能。因此需要缓存这个机制。...
2018-04-25 23:06:35 215
原创 Hibernate ------ 持久化类
什么是持久化类?编写持久化类的规则:hibernate把持久化类分为三个状态:要注意三者的区别。只要没有持久化OID的就是瞬时态。有OID没有被列入管理的为游离态,有OID也被管理的为持久态。注意三者之间的转换。持久化对象的自动更新...
2018-04-25 00:18:59 218
原创 Hibernate ---- 主键生成策略
主键生成策略的整体概括。注意:仔细区分不同主键生成策略的不同,如果主键的生成策略选择错误在执行表的操作的时候,会由于并发和锁的问题导致很多的错误,然后抛出异常。sql语句的结果是:由于他是需要hibernate管理的,所以每次都是先查后插入。如果在程序中设置断点,那么当一个进程查询到了一个id结果,比如是1,但是没有提交的时候,另一个进程如果执行该操作也会先查询,那么查询的结果还是刚刚的id=1....
2018-04-24 22:17:37 244
原创 Hibernate -------- 常用的接口和类
目录:-----configuration-----sessionFactory-----session(session 和factory有个缓存的差别:请参考:https://blog.csdn.net/qq_36098284/article/details/80086519)-----transaction1 configuration默认使用config.configure()的时候,读取的...
2018-04-23 16:47:53 210
原创 Hibernate-----核心配置文件、映射文件
1.核心配置文件两种方式配置:下面分别是上面3个可选配置的具体应用:1.1 控制台打印一般在写程序的时候多数会用到主要为了测试sql语句是否正常生成。为了显示sql更清楚,可以使用格式化显示。1.2 整合C3P0连接池不在使用默认的hibernate的连接池,而是自己进行设置。1.3 自动建表该属性有4个参数。一般用于测试;create基本不会被使用;所以一般常用的就是update。如果你对jav...
2018-04-22 15:07:29 1002
原创 Hibernate ------ myeclipse的反向工程
使用hibernate的时候,如何通过myeclipse自动把一个数据库的表,生成一个持久化的类和一个映射文件。首先创建一个类为com.imooc.entity。存放我们的实例类和映射文件为切换到数据库视图,找到我们要操作的表同时选择两个表,然后右键,选择反向工程。选择mapping文件的存储的包和文件夹。同时选择生成POJP的映射文件,并且选中update那行,表示在hibernate的主配置文...
2018-04-21 22:55:51 203
原创 Hibernate ------ myeclipse如何创建一个支持hibernate的项目?
如何便捷的创建一个hibernate项目。首先,我们先说如果使用hibernate框架,如何自动的生成相应的文件,不需要导入相应的包文件等。先使用一个myeclipse创建一个java project项目。使用myeclipse自动添加功能。首先要添加一个数据库视图。选择myeclipse中右上角的这个图标下的database explorer。在视图的左上角会出现这个标志,右键然后选择new。然...
2018-04-21 22:37:20 2945
原创 Hibernate----- 理解多对一和一对多。
开始我不理解下面代码的写法和不student中不加school的区别,第一次写这个问题的时候不太理解,后来看了hibernate的双向多对一才有所理解。所以才此处记录下我的疑问和我自己的解答。然后写的这个文章的答案部分。其实我不理解的问题是两个:多对一和一对多的本质区别和代码上的区别?当我们在school上加一个set后为什么可以做到对student的外键的修改?不是十分理解为什么?(有待解决)这...
2018-04-21 19:43:37 214
原创 数据库(学习笔记 10) ------ 数据库中表的关系以及如何用javabean实现
目录:什么是1:n什么是n:m这两种关系在数据库中怎么实现的(外键/第三张表)如何用javabean实现?如何用hibernate实现?(参考:待更新)数据库中表的关系就是三种:1:1 1:n n:m针对1:1在此处不会详细说明,可以参考:https://blog.csdn.net/lengjinghk/article/details/521402761、1:n1.1 什么是1:n关系,就是一...
2018-04-21 16:42:53 2655
转载 program files与program files(x86)的区别
简单来说:Program Files (x86)存放了一些32位的系统文件。它和正常的Program Files以及Windows文件夹一样,都属于系统文件夹,请勿随意改动。 64位Windows中提供了一种技术,Windows on Windows 64(即WoW64)。它可以使32位的应用程序正常地运行在64位的Windows中,这样用户在从32位到64位过渡的过程中,不会感受到很大的不便。为...
2018-04-20 16:01:55 13566
原创 处理 Driver class not found
如何解决Driver class not found的问题。我在DB中建立连接的时候,一直抱着错误,其实我有好几个地方都是错误的。下面将会分别讲解。报错一如下:出错的几个地方,请大家注意:1.Driver name那列不应该是MYSQL否则根本没法test Driver。应该改成数据库的名字。2.是我的url配置出错了。但是我的写法确实是正确的。但是我的数据库的名字写错了。所以根本找不到我写的数据...
2018-04-19 13:24:00 20301 5
原创 Document root element "hibernate-mapping", must match DOCTYPE root "hibernate-configuration
报错信息为:Caused by: org.hibernate.boot.InvalidMappingException: Could not parse mapping document: com/imooc/entity/Grade.hbm.xml (RESOURCE)如果运行后在console中会有如下的报错,就是找不到我们要的映射文件。是我们的映射文件出错了。所以我们要打开查看我们的映射文件...
2018-04-18 22:40:18 1124
原创 org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine
报错:org.hibernate.service.spi.ServiceException: Unable to create requested service[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]出错的原因是:无法创建请求的服务1.解决方案: 1.1 第一次解决:MySQL驱动版本太高。使用的hibernate版本为5.1.5....
2018-04-18 22:19:36 10362 2
原创 处理C:\WINDOWS\system32>net start mysql 服务名无效。
C:\WINDOWS\system32>net start mysql 服务名无效。如果解决cmd:net start mysql出现服务名无效的问题。解决方法:如果只是显示服务名无效,如果输出net stop mysql还是无效,可能是因为你的mysql的名字输入的不对。因为在你安装的时候很可能已经更改过这个名字,只是你没有注意,如下方式查看:你先cmd然后输入,services.msc,...
2018-04-18 22:10:48 16690 9
原创 java(13)List-----List嵌套
我的需求是想一次性传递多个list。现在在测试可以如何实现。查看test4:list<list<String>>的初始化在我不同测试和思路中,对list传递有几个不同的猜测和实验。test1:测试两个list的话,一个list存数据,那么另一个list是否可以存第一个list的首地址。首先这个问题是可以实现的。List<String> te...
2018-04-14 00:52:45 27806
转载 处理Syntax error, insert &quot;}&quot; to complete Block
参考:https://blog.csdn.net/chenleiintuling/article/details/73198131当我们在直接在网上复制他人写好的代码到我们的编译器的时候,会出现下面的这报错,但是如果你去检查,你会发现其实括号都是没有问题的。(都是匹配的,不多不少),就是报错,原因在下面:eclipse中出现错误 Syntax error, insert "}" to comple...
2018-04-12 20:59:41 565
原创 java实现----sql解析器
更新中!!!!!!首先我们项目要编写一个小型的dbms。所以我负责编写的sql解析的部分。所以本文只是记录我学习和编写sql解析器的过程。-----------------------------------------------------------------------------------------------------------------------------------...
2018-04-12 17:23:12 31654 12
转载 java----split 用法
参考:https://blog.csdn.net/daxiang_zhang/article/details/2149896他这里有个地方我个人觉得有错误,因为他觉得separator为可选项,可是如果我调用函数stringObj.split()会报错。就算是空格,要要是“ ”的形式,因此我觉得是必须要有的。关于正则表达式的理解,请链接:https://www.cnblogs.com/darkte...
2018-04-10 18:15:40 221
转载 Java---String中的subString()方法
方法如下:public String substring(int beginIndex, int endIndex)第一个int为开始的索引,对应String数字中的开始位置,第二个是截止的索引位置,对应String中的结束位置1、取得的字符串长度为:endIndex - beginIndex;2、从beginIndex开始取,到endIndex结束,从0开始数,其中不包括endIndex位置的字...
2018-04-10 16:46:33 215
转载 Java----nextInt()、next()和nextLine()的理解
先看解释:nextInt(): it only reads the int value, nextInt() places the cursor in the same line after reading the input.next(): read the input only till the space. It can't read two words separated by space...
2018-04-10 16:16:20 369
原创 数据库(学习笔记三)--------子查询(where、from、exists)
良好的理解: where 表达式 , 把表达式放在行中看是否成立 列 理解成变量,可以进行运算 取出结果可以理解成一张临时表-----------------------------------------------------------------------------------------------------------------------------------------...
2018-04-09 16:26:26 4600
原创 数据库(学习笔记二) ------ sql查询语句(where,group by , having ,order by , limit)
查询 查询一共有5个子句,分别为:where,group by , having ,order by , limit; 如果要选择使用多个的时候,书写顺序必须是这个顺序,否则会报语法错误。----------------------------------------------------------------------------------------------------------...
2018-04-08 22:24:04 880
原创 数据库(一)-------索引的本质、类型以及如何创建索引详解(基础)
索引是数据库中非常重要的一部分。在查询中增加所以很多时候会比不加索引效率高很多。在我学习了索引如何使用后,我开始有一些问题,而最根本的原因就是我不知道本质上索引是什么,所以本文就是针对索引的本质来讲下他的原理的。但是只以BTREE为例,其他数据结构或则算法的索引原理会在其他文章讲解。1.什么是索引?首先,当我看见有一种索引的创建语句是如下的时候,create index index_name on...
2018-04-07 17:59:41 10578 7
原创 WIN10下怎么找到MYSQL数据库中存储数据的位置。(默认路径)
今天我想找到MYSQL中创建的表的数据。所以就需要mysql的data所在位置才能查看。我的系统是win10(没升级的)+MYSQL 5.6版本。方法一:网上说的一般方式是这样的:在你的MYSQL的创建目录下,会有一个my.ini的配置文件信息,打开里面,找到下面的一句话:#Path to the database rootdatadir="C:\Documentsand Settings\Al...
2018-04-07 16:22:56 54427 11
原创 数据库(学习笔记四)-------1NF/2NF/3NF/BCNF 范式详解
在学习数据库的时候,我们首先要知道什么是数据库、数据库的分类都有什么、什么是DBMS、DBMS有什么、以及设计表时遵循的范式原则是什么(准确定义)、因此要了解什么是1NF/2NF/3NF、以及区分什么是超键、外键、候选键、和主键。1.数据库?1.1什么是数据库?DB是database的缩写也就是数据库,数据库是存储数据的一个集合,也是一个仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形...
2018-04-06 01:19:20 2172
原创 Servlet+jsp开发图书管理系统流程。
本人在学习Servlet+JSP时候,是直接看的一个40课时的实战项目。根据项目学习写这种项目时候的套路。学习了包括如何分层,数据结构的使用,文件,接口的整理,还有servlet+jsp的基础知识等。本文主要介绍的是Servlet+jsp 开发图书管理系统的流程。有关servlet和jsp的基础知识在我的博客中有很多学习笔记可以参考。我都是分模块介绍的。稍后我还会写一个文章是描述MVC模式的。下面...
2018-04-05 15:27:13 23151 4
原创 设计模式------三种工厂模型详解
在学习servlet+jsp开发项目的时候,会用到工厂模型,我刚刚一查居然是3种。我参考了两个文章,然后总结了该文。有需要的朋友可以查看这两篇文章。代码提供:http://www.iteye.com/topic/1145602文档提供:https://blog.csdn.net/lingfengtengfei/article/details/12374469注意:其中的图片和代码不是配套的。所以请...
2018-04-04 21:49:09 5372 1
转载 Servlet 学习笔记(九)---------工作流程描述
本文转载自:https://blog.csdn.net/TomasEdision/article/details/76059408但是我根据他的主要内容进行了提炼和总结。Servlet工作流程描述在浏览器地址栏输入网址http://localhost:8080/sgrweb/MyFirstServlet时每个部分含义分别是什么:localhost代表的是主机8080代表的是端口号sgrweb代表的...
2018-04-03 19:34:11 189
原创 数据库(学习笔记五)---------什么是数据库脚本?它有什么作用?
今天我在看一个JSP+Servlet项目的时候,我发现有个在开始写模块代码之前,先好了一个数据库脚本。要分析需求,创建数据库我是知道的。但是这个Eclipse中的数据库脚本是什么,干什么的呢?首先,数据库脚本里面就是,一组或者多组的SQL语句。可以完整的创建一个表或者一个数据库的SQL语句。最后是.sql格式。至于作用,我觉得分两点,第一,就是可以完成移植。生成这个表的脚本可以直接在另一个服务器直...
2018-04-02 17:25:08 14332
软件测试总结
2018-07-23
Mastering UML with Rational Rose
2018-07-23
计算机网络--ICMP
2018-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人