数据库
文章平均质量分 76
禹爸爸
这个作者很懒,什么都没留下…
展开
-
Mybatis系列番外篇之多参数
Mybatis系列番外篇之多参数引言使用过Mybatis的小伙伴们都知道,在映射文件中只能使用parameterType属性指定一个传入参数,可是在实际的项目中,往往需要用到多个传入参数,那么应该如何实现呢?本文就以Mybatis接口式编程方式来分享一下我的实现方式。分层设计在实际的工作项目中,需要使用用户和角色的概念对系统权限进行管理,那么就引出了为用户分配角色的问题。Se...2015-11-03 21:28:29 · 205 阅读 · 0 评论 -
Mysql查看版本和数据库方法
查看Mysql版本可以使用以下命令:1.在DOS命令行下使用mysqladmin version -uroot -p2.在Mysql命令行下使用select version(); 想知道Mysql中有哪些数据库,可以有以下两种方法(或许还有其他方法,欢迎大家补充):1.在DOS命令行下使用 mysqlshow -uroot -p (u后面是连接数据库的用户名)2.在MYS...2011-11-09 22:29:00 · 136 阅读 · 0 评论 -
PHP调用MS SQL 存储过程
在PHP中调用MS SQL存储过程functiongenerateDocCode(){$wf_id=self::WORKFLOW_ID;$doc_code="";$link=mssql_connect($this->cfg->db->params->host,$this->cfg->db->params->use...2008-12-23 17:00:00 · 137 阅读 · 0 评论 -
避免SQL Server 触发器死循环
在使用SQL Server时,有时候希望针对数据表中某一字段的修改执行一段触发器代码,比如修改了人员名称时,我们希望数据库会自动执行一代码来修改同一数据表中的姓名拼音首字母字段。如果使用After Update触发器则会让SQL Server崩溃掉,那么有什么办法可以避免这种死循环吗?答案是肯定的,我可以在触发器中判断用户是否修改了姓名字段,如果是则执行后续更新代码,如果用户修改了其他字段,则不...2008-03-12 10:47:00 · 1239 阅读 · 0 评论 -
关系代数五种基本操作和四程组合操作
五种基本操作:并(Union):设关系R和关系S具有相同的元数n,且相应的属性取自同一个域,则关系R和关系S的并由属于R或属于S的元组组成,其结果仍为n元的关系差(Difference):设关系R和关系S具有相同的元数n,且相应的属性取自同一个域,则关系R和关系S的差由属于关系R而不属于关系S的元组组成,其结果仍为n元的关系笛卡尔积(Cartesian Product):设关系R和关...2008-03-04 23:40:00 · 2902 阅读 · 0 评论 -
关系数据模型
用二维表表示实体集,用关键码表示实体间联系的数据模型称为关系模型。域D1,D2,D3.....Dn上的笛卡尔积的子集称为在域D1,D2,D3.....Dn上的关系。关系的成员为元组。关系具有以下特点:关系可以看成是由行和列交叉组成的二维表格,它表示一个实体集表中的一行称为一个元组,可用来表示实体集中的一个实体表中的列称为属性,列名即为属性名,表中的属性名不能相同列的取值...2008-03-04 23:19:00 · 329 阅读 · 0 评论 -
获取单据编号的存储过程
CREATETABLE[dbo].[BillNo]([Id][int]IDENTITY(1,1)NOTNULL,[BillName][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,[MaxNo][int]NULL,[MaxDate][varchar](20)COLLATEChinese_PRC_CI_ASNULL,[Prefix][varchar](...2008-02-25 23:01:00 · 675 阅读 · 0 评论 -
获取MSSQL数据字典的SQL语句
CREATE VIEW dbo.vw_db_dictionaryASSELECT TOP 100 PERCENT dbo.sysobjects.name AS table_name, dbo.sysproperties.[value] AS table_desc, dbo.syscolumns.name AS field, properties.[valu...2009-03-25 21:34:00 · 442 阅读 · 0 评论 -
MSSQL数据库中Text类型字段在PHP中被截断之解
在PHP中使用了MSSQL数据库,恰巧数据库中又使用了Text类型字段,于是问题产生了。每次从数据库中查询得到的数据总是被莫名的截断,一开始是以为我使用的PHP框架中对字符串的长度有所限制,后来发现这是个较愚蠢的想法,因为在提交数据时可以将字符串内容全部的提交到数据库中,只是读取时发生此现象,于是上网搜寻是否有类似的问题。运气还挺不错,第一次搜索就找到了解决的办法,遂决定将其转贴在我的Blog中...2008-01-03 21:11:00 · 193 阅读 · 0 评论 -
对存储过程返回的结果进行条件查询
有些程序员喜欢使用存储过程来实现一些数据的查询工作,如果客户端用户(这里是指使用这些存储过程的程序员)想对得到的结果进行筛选,目前没有简单的办法,但是可以利用临时表作为折中的办法。CreateTable#TmpTable(FieldList)InsertInto#TmpTableExecStoreProcedureNameParameterList需要指出创建临时表语句中的字...2007-11-02 11:09:00 · 1076 阅读 · 0 评论 -
如何将Excel和Access中的数据导入到MSSQL中
1.Excel数据导入SELECT * FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’, ’Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...[Sheet$]2.Access数据导入Select*FROMOpenDat...2007-11-02 10:22:00 · 164 阅读 · 0 评论 -
查询数据表中重复的数据
在测试中,经常会对程序中某一功能进行反复的测试,进而导致数据表中产生了除主键以外的重复数据。我们如何找出这些重复的数据呢?其实可以用很简单SQL语句将其查询出来。如果想查询数据表中某一个字段重复(这里假设这个字段名是ID1),可以使用以下SQL语句。selectTable1.*fromTable1rightjoin(selectID1FromTable1GroupbyID1havi...2007-10-28 13:55:00 · 152 阅读 · 0 评论 -
SQL分页数据查询
在许多数据库应用系统中,会对数据进行大量的查询操作。当查询数据量比较大时查询所用的时间就会变得较慢,所以我们希望可以分批的获取数据。特写了一个存储过程用于分批获取数据。鉴于游标效率低,故此处没有采用。CreateProcedureSelectPage@TableNamenvarchar(64),@KeyFieldnvarchar(64),@Fieldsnvarchar(512),@...2007-10-26 15:36:00 · 86 阅读 · 0 评论 -
SQL Server2000 Collection排序规则
SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有一个错误大家应是经常碰到:SQLSERVER数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误:“无法解决equalto操作的排序规则冲突。”一.错误分析: 这个错误是因为排序规则不一致造成的,我们做个测试,比如:createtable#t1(namevarchar(20)c...2007-10-15 13:00:00 · 275 阅读 · 0 评论 -
PHP5.3.X连接MSSQL数据库
windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP。这是一个自解压文件,解压后会得到以下几个文件:php_sqlsrv_52_nts_vc...2012-05-22 09:09:00 · 168 阅读 · 0 评论 -
Mysql数据库中文乱码问题之解决方法
这是一个在工作中遇到的真实案例,经过几天的摸索终于将问题解决了,现用文字记录下来,方便遇到类似问题的朋友参考。 在进入正题前,先介绍一下这个案例背景。前段时间由于工作原因,需要将mysql数据库迁移到一台新服务器上,新机器操作系统用的是Windows Server 2008 R2,mysql的版本是5.5.28。直接使用了Navicat的备份功能将数据库备份,然后恢复到新的服务器上,...2015-05-28 15:41:00 · 230 阅读 · 0 评论 -
Mybatis系列之实战篇(下)
Mybatis系列之实战篇(下)实战总结将Mybatis和Spring配置文件独立开<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> &原创 2015-10-19 20:30:10 · 251 阅读 · 0 评论 -
Mybatis系列之实战篇(中)
Mybatis系列之实战篇(中)接着《Mybatis系列之实战篇(上)》,我们继续。 数据表实体类Province类package com.emerson.etao.entity.base.address;/** * 省份实体类 * * @author Chris Mao(Zibing) * */public class Province ...原创 2015-10-19 19:43:03 · 374 阅读 · 0 评论 -
Mybatis系列之实战篇(上)
Mybatis系列之实战篇(上)引言经过前面的学习(本文最后有前面文章的链接,小伙伴们可以根据需要自行阅读),我们需要一个实际的项目来练练手,对掌握的知识做进一步的巩固和沉淀。 术语介绍本文以一个实际电商项目上中的客户管理模块作为讲解案例。在正文开始前,先约定一些术语,这些术语在后面的讲解中会频繁出现,所以希望小伙伴发用两分钟的时间看一下,这对后面的阅读会有很大帮助。P...原创 2015-10-19 13:01:34 · 297 阅读 · 0 评论 -
Mybatis系列(九)Spring & Mybatis整合
Mybatis系列之Spring & Mybatis整合引言前面用了八篇博客简单的向大家介绍了Mybatis的基础知识及简单用例。了解了这些知识后,还差最后一招,我们就可以修炼好独孤九剑,进入到更高一层的武艺境界 --SSM(Spring + Spring MVC + Mybatis)开发阶段了。关于Spring及Spring MVC的基础概念这里就不再赘述了。不了解的,大...原创 2015-10-05 00:21:40 · 227 阅读 · 0 评论 -
Mybatis系列(八)集合映射
Mybatis系列之集合映射上篇文章我们讲了关联映射,实现了销售与登录用户之间的关联。本文我们接着来讲一讲集合映射,实现销售与客户的多对多关系。实现销售与客户多对多关系本文中仍延用《Mybatis系列之关联映射》中的映射接口和测试用例,这里仅对增加和修改的内容进行讲解。第一步,在动手编写映射文件之前,我们需要对Sales类增加一个List属性,用以保存销售员对应的客户列表。...原创 2015-10-02 11:49:23 · 456 阅读 · 0 评论 -
Mybatis系列(七)关联映射
Mybatis系列之多表关联映射引言之前的文章里有提到过使用Mybatis对数据库单表进行映射,执行增删改查操作。但是在现实的项目中进行数据库建模时,我们要遵循数据库设计范式的要求,会对现实中的业务模型进行拆分,封装在不同的数据表中,表与表之间存在着一对多或是多对多的对应关系。进而,我们对数据库的增删改查操作的主体,也就从单表变成了多表。那么Mybatis中是如何实现这种多表关系的映射...原创 2015-10-02 01:09:45 · 367 阅读 · 0 评论 -
Mybatis系列(六)接口式编程
Mybatis系列之接口式编程引言在前面的文章《Mybatis系列之简单示例》曾有一段代码涉及到了接口式编程,当时并没有展开阐述,今天我们单独把这一段拿出来表一表。在讲Mybatis接口式编程之前,我们先回忆一下前面是如何调用映射文件中的SQL代码的。通常情况下,都是使用SqlSession实例的selectXXX(selectOne, selectList, selectMap)...原创 2015-10-01 00:23:13 · 281 阅读 · 0 评论 -
Mybatis系列(五)动态SQL
Mybatis系列之动态SQL引言凡是写过数据库程序的朋友,都能体会到根据不同条件拼接SQL语句的痛苦,在这中间也会犯各种各样的错误,where子句中多个括号,少个空格,set语句中缺个逗号什么的,各种累觉不爱。使用Mybatis自带的动态SQL处理机制,可以把我们从这种痛苦中解救出来。今天我们就来讲讲Mybatis的动态SQL。(本文结尾处有彩蛋噢 :)))) 通常使用动态 ...原创 2015-09-30 14:07:01 · 458 阅读 · 0 评论 -
Mybatis系列(四)映射文件
Mybatis系列(四)映射文件引言Mybatis的真正强大,在于她对SQL的映射,这也是她吸引人的地方。实现相同的功能,她要比直接使用JDBC省去95%的代码量。而且将SQL语句独立在Java代码之外,为程序的修改和纠错提供了更大的灵活性,可以直接修改SQL语句,而无需重新编译Java程序。本文将在上一篇《Mybatis系列之简单示例》的基础上,对映射文件进行详细的讨论学习。S...2015-09-29 22:49:17 · 108 阅读 · 0 评论 -
Mybatis系列(三)简单示例
Mybatis系列之简单示例经过前两篇文章《Mybatis系列之入门》和《Mybatis系列之配置》的介绍,我们对Mybatis有了一定的了解,下面就接合一个实例学习案例,来巩固一下我们前面学习的知识。环境搭建IDE: STS(Spring Tools Suite)Java Version: 1.6Spring Version:3.1.1Mybatis Version:...2015-09-29 12:50:33 · 155 阅读 · 0 评论 -
Mybatis系列(二)配置
Mybatis 配置上一篇文章,我们简单了解了Mybatis,现在我们就来了解一下她的核心配置文件。注:以下内容部分转载自Mybatis官方文档。XML 映射配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。属性(properties)这些属性都是可外部配置且可动态替换的,既可以在典...2015-09-29 11:37:51 · 103 阅读 · 0 评论 -
Mybatis系列(一)入门
Mybatis入门 简介MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。安...原创 2015-09-29 10:30:13 · 102 阅读 · 0 评论 -
Java数据分页
Java 数据分页的设计及实现概述 数据分页,对于一个Web程序而言,是不可或缺的一个基础功能。当数据量很小很小的时候,比如只有只有二三十笔,不提供数据分页功能或许还是可以接受的;当数据量达到五十笔、八十笔的时候,如果还不提供分页功能,会显得有些差强人意了;当数据量达到上百、上千甚至上万笔的时候,如果再不提供分页功能,我想没有哪个用户是能够接受得了的了。解决方案数据分页,主要有...原创 2015-09-25 23:39:37 · 246 阅读 · 0 评论 -
Mysql数据库中文乱码问题之解决方法
这是一个在工作中遇到的真实案例,经过几天的摸索终于将问题解决了,现用文字记录下来,方便遇到类似问题的朋友参考。在进入正题前,先介绍一下这个案例背景。前段时间由于工作原因,需要将mysql数据库迁移到一台新服务器上,新机器操作系统用的是Windows Server 2008 R2,mysql的版本是5.5.28。直接使用了Navicat的备份功能将数据库备份,然后恢复到新的服务器上,原创 2015-05-28 15:41:28 · 1706 阅读 · 0 评论 -
关系代数五种基本操作和四程组合操作
五种基本操作:并(Union):设关系R和关系S具有相同的元数n,且相应的属性取自同一个域,则关系R和关系S的并由属于R或属于S的元组组成,其结果仍为n元的关系关(Difference):设关系R和关系S具有相同的元数n,且相应的属性取自同一个域,则关系R和关系S的差由属于关系R而不属于关系S的元组组成,其结果仍为n元的关系笛卡尔积(Cartesian Product):设关系R和关系原创 2008-03-04 23:40:00 · 20780 阅读 · 0 评论 -
Mysql查看版本和数据库方法
查看Mysql版本可以使用以下命令:1.在DOS命令行下使用mysqladmin version -uroot -p2.在Mysql命令行下使用select version();想知道Mysql中有哪些数据库,可以有以下两种方法(或许还有其他方法,欢迎大家补充):1.在DOS命令行下使用 mysqlshow -uroot -p (u后面是连接数据库的用户名)2.在原创 2011-11-09 22:29:54 · 750 阅读 · 0 评论 -
PHP5.3.X连接MSSQL数据库
windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP。这是一个自解压文件,解压后会得到以下几个文件:php_sqlsrv_52_nts_vc6.d原创 2012-05-22 09:09:28 · 1034 阅读 · 0 评论 -
获取MSSQL数据字典的SQL语句
CREATE VIEW dbo.vw_db_dictionaryASSELECT TOP 100 PERCENT dbo.sysobjects.name AS table_name, dbo.sysproperties.[value] AS table_desc, dbo.syscolumns.name AS field, properties.[value原创 2009-03-25 21:34:00 · 651 阅读 · 1 评论 -
PHP调用MS SQL 存储过程
在PHP中调用MS SQL存储过程function generateDocCode() { $wf_id = self::WORKFLOW_ID; $doc_code = ""; $link = mssql_connect($this->cfg->db->params->host, $this->cfg->db->params->username, $this->原创 2008-12-23 17:00:00 · 1393 阅读 · 0 评论 -
避免SQL Server 触发器死循环
在使用SQL Server时,有时候希望针对数据表中某一字段的修改执行一段触发器代码,比如修改了人员名称时,我们希望数据库会自动执行一代码来修改同一数据表中的姓名拼音首字母字段。如果使用After Update触发器则会让SQL Server崩溃掉,那么有什么办法可以避免这种死循环吗?答案是肯定的,我可以在触发器中判断用户是否修改了姓名字段,如果是则执行后续更新代码,如果用户修改了原创 2008-03-12 10:47:00 · 6406 阅读 · 1 评论 -
关系数据模型
用二维表表示实体集,用关键码表示实体间联系的数据模型称为关系模型。域D1,D2,D3.....Dn上的笛卡尔积的子集称为在域D1,D2,D3.....Dn上的关系。关系的成员为元组。关系具有以下特点: 关系可以看成是由行和列交叉组成的二维表格,它表示一个实体集 表中的一行称为一个元组,可用来表示实体集中的一个实体 表中的列称为属性,列名即为属性名,表中的属原创 2008-03-04 23:19:00 · 2530 阅读 · 0 评论 -
获取单据编号的存储过程
CREATE TABLE [dbo].[BillNo]( [Id] [int] IDENTITY(1,1) NOT NULL, [BillName] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, [MaxNo] [int] NULL, [MaxDate] [varchar](20) COLLATE Chines转载 2008-02-25 23:01:00 · 1234 阅读 · 0 评论 -
对存储过程返回的结果进行条件查询
有些程序员喜欢使用存储过程来实现一些数据的查询工作,如果客户端用户(这里是指使用这些存储过程的程序员)想对得到的结果进行筛选,目前没有简单的办法,但是可以利用临时表作为折中的办法。Create Table #TmpTable(FieldList)Insert Into #TmpTable Exec StoreProcedureName ParameterList需要指出创建原创 2007-11-02 11:09:00 · 2893 阅读 · 0 评论 -
如何将Excel和Access中的数据导入到MSSQL中
1.Excel数据导入SELECT * FROM OpenDataSource( ’Microsoft.Jet.OLEDB.4.0’, ’Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0’)...[Sheet$]2.Access数据导入Select * FROM原创 2007-11-02 10:22:00 · 1256 阅读 · 0 评论