- 浏览: 30290 次
- 性别:
- 来自: 成都
最新评论
文章列表
Spring Data Jpa是Spring中为简化数据库操作,基于JPA封装的一套框架。这个框架的主要作用是为了把我们从反复,复杂的数据库操作中解放出来。
首先,Spring Data Jpa的官方学习地址:http://docs.spring.io/spring-data/jpa/docs/current/reference/html/
其次,该项目测试代码地址:https://github.com/mj3018/7-4test/tree/master/springjpaTest 这个项目上面测试了CRUDRepository接口,JpaRepository接口,JpaSpecifi ...
好吧,在学习了将近一个月时间的maven,这个过程中遇到过很多问题。接下来在这里记录一下困扰自己的问题吧:
1.在运行有的生命周期的时候会提示failed to execute ......
比如我这里在执行mvn site的时候就提示:Failed to execute g ...
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。
安装Nexus
下载
Nexus有两种安装包,一种是包含Jetty容器的Bundle包,另一种是不包含Web容器的war ...
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。git与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
1.Git 与 SVN 区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。
Git 与 SVN 区别点:
1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。
plsql(procedure language sql)结构化的sql语句。
1.块的概念:
是plsql最小执行单元,由declear,begin,exception,end几个部分组成。
DECLARE
--声明部分(主要声明变量,常量,游标等),这部分可以不要
BEGIN
--执行部分,这个不能缺失
EXCEPTION
--异常部分,这个部分是在前面执行时候出现异常在这个地方进行捕获,可以不要
END;
例如:
declare
v_ename varchar2(10);
v_sal number(7,2);
begin
select ename,sal ...
在本文中主要记录一些常用的sql语句的写法,供以后查看;本文参考自:http://wenku.baidu.com/link?url=O8W1lSMvIi91CYXtQM9oq2aaCy25ok_J8xTRSUVMqKmQCSAojs1gR6DmjzXQr962Xvn80Lf30dy8SwvX2WSk3IdjSg0KHF1jWL41bEcCieq&pn=51
1.创建用户:
create user user_name identified ...
Hibernate的HQL已经支持大多数数据库函数,肯定不能包括所有, 幸运的是Hibernate已经对此做了相应的方案解决, 也就是Dialect中注册数据库函数.具体做法如下,我们以Mysql5为例.(对于不同的数据库去继承不同的数据库方言即可,比如oracle可以去查看hibernate中oracle的dialect)
Mysql 的convert函数,现现在数据库的字符集是utf-8,如果想实现中文排序,就需要用convert(filedName using gbk) 实现,但现有的hibernate的hql不能支持此函数, 我们可以现在Dialect注册一个函数,一样不赞成直接修改 ...
本文借鉴至:http://www.cnblogs.com/xiaoluo501395377/p/3377604.html
一:N+1次查询问题。
首先,什么是N+1次查询,我的理解是在使用session.createQuery("HQL语句").iterator()查询时第一次查询会去查询数据库中所有符合条件的记录的id,然后根据id逐一查询出每条记录的现象。
下面来看看代码:
/**
* N+1次查询问题
*/
@Test
public void testOnePlusMore() {
Session ...
HQL: Hibernate查询语言
Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。
第 15 章 HQL: Hibernate查询语言
Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。
15.1. 大小写敏 ...
首先记录一下基于注解的hibernate.cfg.xml文件的内容吧:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernat ...
这里学习的是hibernate4的构造方式,查看了很多文章了解到这个session的构造在不同的版本是有区别的,在hibernate4以前(至于前到什么地方不太清楚了)可以直接使用Configuration对象的build方法获取到sessionFactory对象。
现在方式不一样了,具体获取代码如下:
package cn.bdx.utils;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceR ...
mybatis是一个orm框架,其特点是需要使用原生sql语句,这一点跟hibernate有所不同,hibernate在数据持久化的时候基本上可以不用原生的sql语句(当然也可以使用)。
好吧,这里还是具体来写写怎么使用mybatis吧。
首先,导包问题,mybatis使用需要的jar包还是比较简单的,只需要一个mybatis-版本号.jar包以及对应数据库驱动的jar包,对应jar包查看附件。
其次,主配置文件:
这个配置文件名称可以随意名称的xml文件,当然只需要在获取sqlsessionfactory时对应这个文件名称即可,具体实例如下:
String resource ...
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。
随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。
一、N+1问题
首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:
list()获得对象:
/**
* 此时会发出一条sql,将30个学生全部查询出来
*/
Lis
今天来整合了一下spring,hibernate。
其实在前面S2sh框架整合的学习下,整合这个感觉还是比较轻松的,首先导入的jar包一下少了很多,因为springmvc本来就是spring框架的一部分,只需要将spring-webmvc跟spring-web(这个包之前好像也要加入进去)这些jar包导入进来,其他部分就是spring的一些其他的jar包跟hibernate的一些jar包,这些包的导入在这里就不描述了,可以在csdn上下载整个测试项目进行查看:http://download.csdn.net/detail/mjcreator/9526168
另外,在这里还是要说一下,在这个 ...
以前一直听说s2sh整合开发项目,也用过一些在网上找到过一下配置好的整合实例进行过测试,测试的例子在我的csdn上面
注解方式:http://download.csdn.net/detail/mjcreator/9523091
xml文件方式:http://download.csdn.net/detail/mjcreator/9523113。
...