
数据库
文章平均质量分 78
wangpeng047
这个作者很懒,什么都没留下…
展开
-
Oracle树形结构的sql语句
ORACLE提供了一种树形结构用来实现层次查询: START WITH :指定记录是根节点的条件。根节点可以有多个。 CONNECT BY :指定记录之间是父节点和子节点关系的条件。查找出含有子节点的父节点的条件 PRIOR :指定父节点记录的引用。原创 2011-10-16 16:52:43 · 16185 阅读 · 2 评论 -
ibatis传递日期Date参数
这本来是一个简单的问题,但是在网上查阅了半天也没找到结果,最后阅读官方文档后,终于找到了方法。其实非常简单,只需要在接口方法参数上加上@Param注解。另外如果需要传递多个参数时,可以使用该注解来实现。例子:public List selectTeacher(@Param(value="id") String id, @Param(value="sex") String sex,原创 2013-06-29 22:44:18 · 15723 阅读 · 1 评论 -
HQL使用小技巧——混合SQL
偶然间发现HQL一个非常有意思的用法,拿来分享下。示例如下:1. student数据库表(MySQL)CREATE TABLE `student` ( `ID` int(11) NOT NULL, `NAMES` varchar(50) NOT NULL, `AGE` int(3) NOT NULL, PRIMARY KEY (`ID`)) ENGINE=InnoDB原创 2013-07-30 11:48:59 · 7655 阅读 · 0 评论 -
Hibernate占位符问题[use named parameters or JPA-style positional parameters instead.]
hibernate 4.1之后对于HQL中查询参数的占位符做了改进,如果仍然用老式的占位符会有类似如下的告警信息:[main] WARN [org.hibernate.hql.internal.ast.HqlSqlWalker] – [DEPRECATION] Encountered positional parameter near line 1, column 95. Positional parameter are considered deprecated; use named paramet原创 2013-09-29 16:08:56 · 25875 阅读 · 15 评论 -
hibernate之c3p0连接池配置详解
数据库连接池,项目中一旦配置好后一般很少改动,所以很多人并没有细细的研究过(有时甚至是运维的人负责配置),其实这个知识点还是很重要的,所以我在这里总结分享下,需要用到的时候拿出来看看就可以啦。这里我们介绍的是c3p0的配置方式。原创 2013-09-28 18:54:52 · 6581 阅读 · 2 评论 -
写SQL要学会使用"执行计划"
能写SQL是程序员的基本功,而能写出性能优异的SQL是优秀程序员的必备技能。可那些性能好的SQL语句是怎么写出来的?难道他们了解数据库底层的东西吗?其实了解数据库原理是一方面,更快捷的是借助“执行计划”(Explain Plan)来分析SQL语句执行的步骤及过程。不同的数据库,使用执行计划的方式有些不同,本篇以MySql数据库为例。原创 2013-10-28 21:02:30 · 25436 阅读 · 3 评论 -
Hibernate @OneToOne懒加载实现解决方案
在hibernate注解(三)中,我提高过一对一(@OneToOne)懒加载失效的问题。虽然给出了解决方法,但并没有给出完整的解决方案。今天我专门针对该问题进行讨论。至于懒加载失效的原因,在之前的文章中已经我已经叙述过了,就不再重复了,不明白的可以去看看。原创 2014-02-25 17:16:14 · 20696 阅读 · 1 评论 -
Mysql无法创建外键的原因
在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.verysi原创 2014-02-26 11:09:59 · 45491 阅读 · 10 评论 -
连接MySql超时断开报错问题
使用Mysql数据库时,最让人头疼的一个问题就是不定时会出现连接报错异常Exception,类似的Exception如下(Hibernate为例):org.hibernate.util.JDBCExceptionReporter - SQL Error:0, SQLState: 08S01org.hibernate.util.JDBCExceptionReporter - The last原创 2014-03-31 12:13:11 · 11689 阅读 · 1 评论 -
MySql事务无法回滚的原因
使用MySQL时,如果发现事务无法回滚,但Hibernate、Spring、JDBC等配置又没有明显问题时,不要苦恼,先看看MySQL创建的表有没有问题,即表的类型。InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。原创 2014-07-31 14:29:12 · 15210 阅读 · 3 评论 -
spring多数据源配置
项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此。多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源。例如在一个spring和hibernate的框架的项目中,我们在spring配置中往往是配置一个dataSource来连接数据库,然后绑定给sessionFactory,在dao层代码中再指定sessionFactory来进行数据库操作。正如原创 2013-04-29 16:48:51 · 130217 阅读 · 51 评论 -
hibernate注解(三)
我们继续介绍hibernate注解的相关内容1. OneToOne懒加载问题一对一注解时,若采用外键列进行实体的关联的话,懒加载问题是需要注意下的。如下:Student表:id int not nullname varchar(50) not nullcard_id int not nullCard表:id int not nullcard_no v原创 2013-05-31 14:16:54 · 16216 阅读 · 2 评论 -
sql语句生成sql脚本
sql语句有一种特别的用法,相信很多人还不知道,我也是后来学到的,因此拿来跟大家分享下:生成sql脚本举个例子:select 1 from student;如果表中有数据的话,你就会发现查询的结果会是:根据这个原理,我们可以用来生成sql脚本,以下就是实例:实例1:一个简单的例子select * from Popedomselect 'insert intoPope原创 2013-04-30 09:38:10 · 9313 阅读 · 4 评论 -
eclipse从数据库逆向生成Hibernate实体类
做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO。意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计。原因是:1. 1.5倍工作量,浪费时间原创 2011-10-22 21:28:17 · 163005 阅读 · 75 评论 -
数据库设计的重要性和设计原则
说起数据库设计,相信大家都明白怎么回事,但说起数据库设计的重要性,我想大家也只是停留在概念上而已,到底如何重要?怎么重要呢?今天就将我至今为止的理解向大家阐述下。一个不良的数据库设计,必然会造成很多问题,轻则增减字段,重则系统无法运行。我先来说说数据库设计不合理的表现吧:1. 与需求不符因为这个原因造成的改动量往往是最大。如果进入编码阶段的话,很可能会直接让你崩溃掉。2. 性能低下原创 2011-12-29 20:43:36 · 36106 阅读 · 14 评论 -
Hibernate继承映射详解
在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据中,Hibernate为我们提供了3中方案:第一种方案:一个子类对应一张表。第二种方案:使用一张表表示所有继承体系下原创 2012-02-21 20:39:37 · 2410 阅读 · 9 评论 -
mongodb入门简介
一、基本概念MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C++开发。MongoDB 的官方网站地址是:http://www.mongodb.org/,大家可以在此获得更详细的信息。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据原创 2012-05-29 18:42:53 · 2832 阅读 · 7 评论 -
mongodb备份与恢复
mongodb数据库同样离不开必要的维护,如备份、恢复、导入、导出。其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了1. 备份Mongodbmongodump -h test.xxxx.com:52000 -d dataname -o /home/aa/dev/mongodb/datamongodump mongo导出数据库命令 mon原创 2012-06-30 22:58:04 · 1991 阅读 · 1 评论 -
spring管理mongodb
安装Spring for MongodbSpring项目为方便对Mongodb的操作,建立了spring-data的子项目,地址在:http://www.springsource.org/spring-data/mongodb,目前版本是1.0.0M2阶段,已支持对Mongodb的一系列基本操作。我们先从http://www.springsource.org/spring-data/mon原创 2012-06-30 23:06:11 · 8079 阅读 · 4 评论 -
mongodb数据库命令操作
上一节我们讲解了对于mongodb的一些认识和概念,那么接下来就要切实步入mongodb的学习中了。mongodb不像关系型数据库有很强大的GUI客户端,虽然mongodb也有,但功能和稳定性实在不敢恭维,所以操作mongodb我们大部分都是用类似cmd命令的方式(mongodb称为shell操作)来完成,因此学好mongodb shell操作是非常重要的基础。一、准备工作1、 下载m原创 2012-06-30 22:25:03 · 40539 阅读 · 4 评论 -
java操作mongodb
上一篇文章: http://blog.youkuaiyun.com/wangpeng047/article/details/7705588介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过前一篇文章我们对MongoDB有了全面的认识和理解。现在我们就用Java来操作MongoDB的数据。 开发环境: System:Windows IDE:eclipse、MyEclips原创 2012-06-30 22:45:51 · 3704 阅读 · 1 评论 -
jdbc简易泛型dao
一、实现思路1、定义3个Annotation(注解):Entity、Id、Column,Entity作用于Type级别,用于标识JavaBean与数据库表名的映射关系。Id作用于Field级别,用于标识JavaBean中ID属性与表中ID字段的映射关系,Column作用于Field级别,用于标识JavaBean中除ID属性外的其它属性与表中字段的映射关系。2、在Dao实现类中,通过反射AP原创 2013-02-26 23:46:20 · 5376 阅读 · 3 评论 -
Spring启动加载静态数据时报No Session found for current thread异常
一、Spring启动加载静态数据的方法利用Spring启动加载静态数据,有那么几种方法1. 实现BeanPostProcessor接口@Componentpublic class LoadDataCache implements BeanPostProcessor { @@Resource private IDao dao; @Override public Object原创 2013-02-28 19:49:26 · 8653 阅读 · 7 评论