- 博客(52)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 抽象工厂模式
抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的类 该模式优缺点: 最大的好处是易于交换产品系列,由于具体工厂类, 在一个应用中只需要初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,它需要在改变具体工厂即可使用不同的产品配置。 它让具体的创建实例过程与客户端分离,客户端是通过他们的抽象接口操纵实例,产品的类名被具体的工厂实现分离,不会出现在客户代码中
2016-06-03 17:15:05
338
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 工厂方法模式
工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。 工厂方法是一个类的实例化延迟到子类以上三个图的意思是, 运算类的子类继承父类(运算类本身),和工厂类的子类继承父类(工厂类本身). 再接着,工厂类的子类实例化对应的运算类子类。 代码:关于计算机加减乘除问题 public class Operation { private double number
2016-06-02 11:33:51
303
原创 oracle之特别诡异的BUG
今天遇到一个问题,在oracle上创建视图后无法子查询和group by一旦子查询和group by之后查询数据为空,也没提示报错。下列图片中选中 ,且背景色为蓝色的,代表执行的sql语句从v_gd里面查询车站编号,是可以查出数据的。 select * from v_chzh where 车站编号 in ( select 车站编号 from v_...
2019-03-25 17:32:05
862
原创 Oracle之OVER(PARTITION BY... ORDER BY...)函数的使用
OVER(PARTITION BY... ORDER BY...)的使用说明和意义这个函数长这个样子:OVER(PARTITION BY... ORDER BY...)顾名思义,PARTITION 中文是分割的意思,ORDER 是排序的意思,所以翻译一下就是先把一组数据按照制定的字段进行分割成各种组,然后组内按照某个字段排序。oracle之汉字拼音转码包create or repl...
2019-02-21 15:46:37
938
原创 oracle之表中指定字段自增
表里指定字段自增,这个问题在SQLSERVER里面来说很简单 ,Identity(1,1)该字段就会从1开始,按照+1的方式自增.但是在Oracle里面呢,就需要用到序列和触发器完成才可以。 相信这个问题每一个转Oracle型数据库时都会遇到。 所以我在此写一篇博客,不求闻达于诸侯,只希望大家也和我一样愿意把自己遇到的问题写到博客上,来帮助每一位IT行业的同伴。首先数据表名:...
2019-02-20 15:30:54
8321
原创 oracle之修改树形结构数据
首先查询数据select * from t_sys_organize; 接下来将f_parentid 中的字段改成 父类的编码 使的 F_parentid 和F_ID 成父子关系对应 --第一步获取父类编码select b.f_id from t_sys_organize b where b.f_fullname in (select f_parentid...
2019-02-20 14:46:46
535
原创 C#复制文件到另一个文件夹下
static void Main(string[] args) { string src = @"D:\发布文件\XTPT\Content\img"; string src2 = @"D:\发布文件\XTPT\Content\picture"; string de...
2019-02-13 17:20:23
5001
原创 NPOI之设置超链接格式
超链接设置方法: /// <summary> /// 使用NPOI操作Excel文件中添加超链接 /// </summary> /// <param name="FilePath">Excel文件的路径</param> /// <param name="Li...
2019-02-12 15:52:08
3871
原创 Excel使用NPOI导出图片
其中引用到的命名空间:using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using NPOI.SS.Util;using NPOI.XSSF.UserModel;using System;using System.Data;using System.IO;下面是插入 图片的方法 public static void I...
2019-02-12 10:39:15
2829
原创 oracle之物化视图的应用
一. 物化视图概述Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询...
2019-01-31 10:35:20
235
原创 CSS样式中IE11浏览器的兼容问题
所谓人在江湖漂,哪能不挨刀,虽然博主不喜欢前端,但身为.net,还是免不了和前端方面打交道,样式方面同样避免不了。遇到不兼容的问题,进百度 css hackJS方面加上下面这些注释代码后, 只让IE11浏览器支持,而别的浏览器访问不到 <!--[if lt IE 11]> <script type="text/javascript" src="http...
2019-01-24 11:47:46
10694
原创 oracle之DBLINK的简单使用
oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作 , 第一步:赋予权限 在创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句(用wangyong用户登陆orcl):-- 查看wang...
2019-01-22 15:29:03
260
原创 Oracle 之sql语句(一)
select * from XLSB_BMGJINFO where f_gid like '13123%' and f_xbh in ('3017','2688')and f_xbmc= '双' select * from ( select * from operatelog order by operatetime desc) where rownum<=20 ...
2018-12-11 10:59:15
156
原创 WPF 之使用Treeview和DataGrid的关联绑定
实现功能:WPF通过读取XML数据绑定到TreeView, 在通过TreeView选择项(Node)获取的对应的数据绑定到DataGrid控件上,再通过DataGrid选中行的详细信息数据绑定到另一个DataGrid。首先创建XML数据. 名称为 Order.xml<?xml version="1.0" encoding="utf-8" ?><root> <category name="C
2017-08-04 15:53:54
3228
转载 C#使用多线程并发之异步委托IAsyncResult
使用委托开启多线程(多线程深入)1、用委托(Delegate)的BeginInvoke和EndInvoke方法操作线程 BeginInvoke方法可以使用线程异步地执行委托所指向的方法。然后通过EndInvoke方法获得方法的返回值(EndInvoke方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用。class Program{private delegate int New
2017-07-31 17:40:13
6599
1
转载 c#使用多线程并发之Thread
这篇文章主要介绍了c#使用多线程的几种方式,通过示例学习c#的多线程使用方式,大家参考使用吧(1)不需要传递参数,也不需要返回参数 ThreadStart是一个委托,这个委托的定义为void ThreadStart(),没有参数与返回值。class Program{static void Main(string[] args){for (int i = 0; i < 30; i++){
2017-07-31 17:35:27
1160
原创 C# 泛型的协变和逆变
1.可变型的类型: 协变和逆变可变性是以一种类型安全的方式,将一个对象当做另一个对象来使用。如果不能将一个类型替换为另一个类型,那么这个类型就称之为:不变量。协变和逆变是两个相互对立的概念:如果某个返回的类型可以由其派生类型替换,那么这个类型就是支持协变的如果某个参数类型可以由其基类替换,那么这个类型就是支持逆变的。简介: 在C# 4.0之前都是不存在协变型和逆变型,之前都是属于“不变量”.
2017-05-08 16:10:59
417
原创 关键字 ref 和 out 的区别
static void Main(string[] args) { int i=1 ; Change1(i); Change2(ref i); Change3(out i); Console.ReadLine(); } public s
2017-05-03 11:56:52
252
转载 DataSet和XML格式间的相互转换 (转)
一、XML与DataSet的相互转换的类 using System;using System.Collections.Generic;using System.Text;using System.Data;using System.IO;using System.Xml;namespace XmlDesign{ class XmlDatasetConvert {
2017-05-02 16:26:18
1151
原创 git 合并分支时出现的异常解决方案----蓝字,提示输入提交信息的
Please enter a commit message to explain why this merge is necessary.请输入提交消息来解释为什么这种合并是必要的解决办法: 1.按键盘左上键“Esc” 2.输入“:wq” 然后按下回车就好了
2017-04-21 15:02:07
3642
1
转载 First、FirstOrDefault 、Single和SingleOrDefault的区别 (转)
操作符如果源序列是空的源序列只包含一个元素源序列包含多个元素First抛异常返回该元素返回第一个元素FirstOrDefault返回default(TSource)返回该元素返回第一个元素Last抛异常返回该元素返回最后一个元素LastOrDefault返回default(TSource)返回该元素返回最后一个元素Single抛异常返回该元素抛异常SingleOrDefault返回def
2017-04-17 15:57:05
477
原创 使用Git命令---针对初学者
相信大家都有过用些git管理项目的时候,或许在管理公司项目又或者gitHub上上传项目等,对于初学者们总是很头疼的。 因为博主也是才学不久,所以说的不对的欢迎各位评论和指出。首先需要你安装一个Git的的客户端,就是从网上下载个,然后一路 next 就可以了。 安装好后,客户端名字应该是Git Bash1.然后打开控制台,输入你自己的个人信息 git config –global user.na
2017-04-14 17:20:09
317
转载 Union和Union All的区别
以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证:Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;Union All:对两个结果集进行并集操作,包括重复行,不进行排序;下面进行简单的测试(因为是测试,所以sql代码写的很简单,没有什么很严格的规范,只是为了理解这两者之间的
2017-02-09 11:10:29
269
原创 C# 各种克隆功能
浅拷贝和深拷贝有两种对象克隆的方法:浅拷贝和深拷贝。浅拷贝只是复制引用,而不会复制引用的对象。深拷贝会复制引用的对象。因此,原始对象中的引用和浅拷贝对象中的同一个引用都指向同一个对象。而深拷贝的对象包含了对象的一切直接或间接的引用。参看维基百科(http://en.wikipedia.org/wiki/Object_copy)来获得更多解释。objectClone ICloneable接口 IC
2017-01-13 10:03:19
1563
原创 由弱类型向强类型的转化(可参看Type类型的详细使用)
因为公司写了个IEntryDataObject的弱类型, public interface IEntryDataObject : IDataObject { IEntryDataObject GetPropertyDataObject(string fieldName); void SetPropertyValue(string fieldName, objec
2017-01-13 09:51:42
521
原创 IBatis.Net 之路进阶 --- 物理分页
在公司工作中,因为考虑到了性能问题。 所以要重构。 而我负责对IBatis.Net 方面的。所以我遇到了一个坎儿。 就是分页问题。 因为之前用到的是IBatis.Net 自带的分页方法QueryForPaginatedList()。 但是这个分页方法是要读取放到内存中,然后筛选的。 数量少还没问题。 一旦数据量变大。 那么就会非常慢。 虽然IBatis.Net 还有另一个 分页的方法
2016-12-26 16:39:36
900
原创 MyBatis.Net 的注意事项
一 # 和 $ 的区别将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是数字,那么解析成sql时的值为order by “数字”, 如果传入的值是id,则解析成的sql为order by “id”.将传入的数据直接显示生成在sql中。如:orderby将传入的数据直接显示生成在sql中。如:order by user_id$,如
2016-12-12 15:19:33
529
原创 .NET----- 工作多年心得,补充基础必备
第一题 —有关继承的概念: 密封类不可以被继承。 继承关系中,我们更多的是关注其共性而不是特性,因为共性是层次复用的基础,而特性是系统扩展的基点。 实现单继承,接口多继承。 从宏观来看,继承多关注于共通性;而多态多着眼于差异性。 继承的层次应该有所控制,否则类型之间的关系维护会消耗更多的精力。 面向对象原则:多组合,少继承;低耦合,高内聚。.NET 中对象的继承两个原则: 1.关
2016-11-03 15:34:31
376
原创 .NET 项目优化措施
1.资源的释放:推荐以 Dispose 模式来代替 Finalize 方式。 2.选择合适的垃圾收集器:工作站 GC 和服务期 GC。 3.在适当的情况下对对象实现弱引用。 弱引用是对象引用的一种 中间态 ,实现了对象既可以通过 GC 回收其内存,又可被应用程序访问的机制。在.NET中,WeakReference 类用于表示弱引用,通过其 Target 属性来表示要追踪的对象,通过其值赋给变量
2016-11-03 15:24:19
290
原创 Spring.Net 入门学习
首先创建一个控制台程序要引入Spring.Core.dll 、Common.Logging.dll 和 antlr.runtime.dl 程序集创建接口 public interface IUserInfoDal { void Show(); }再然后创建两个类继承接口: AdoNetUserInfoDal、EFUserInfoDal public
2016-10-28 17:34:30
509
原创 冒泡排序、插入排序和选择排序的总结
三种排序算法可以总结为如下: 都将数组分为已排序部分和未排序部分。冒泡排序将已排序部分定义在右端,在遍历未排序部分的过程执行交换,将最大元素交换到最右端。插入排序将已排序部分定义在左端,将未排序部分元的第一个元素插入到已排序部分合适的位置。选择排序将已排序部分定义在左端,然后选择未排序部分的最小元素和未排序部分的第一个元素交换。冒泡排序static void Bubble(){
2016-10-24 15:25:06
324
原创 WebClient 类的使用和下载文件
WebClient 类提供向URI标识的任何本地、Intranet或Internet资源发送数据及用这些资源接收数据的方法。 也就是说,它更多用在下载文件用的 //实例化WebClient对象 WebClient client = new WebClient(); client.BaseAddress = "http://www.mrwxk.
2016-10-18 13:38:43
4219
原创 常用SQL语句
–删除重复Name的记录,并保留最小的ID值 –delete Person where ID not in( select MIN(ID) from Person where Name in( select distinct(Name) from Person) group by Name)–手写一个带分页的Sql语句 SELECT TOP 页大小 * FROM (
2016-09-02 15:15:59
286
原创 学习MyBatis.Net之路 (三)
11接下来我们看看我们多表联合查询,动态SQl拼接,以及SQL片段的使用,我们这里用到上面的PersonAndCour.cs这个自定义类 我们先添加PersonAndCourse.xml这个映射文件<?xml version="1.0" encoding="utf-8" ?><sqlMap namespace="PratiseMyBatis" xmlns="http://ibatis.apach
2016-09-02 15:13:24
1111
原创 学习MyBatis.Net之路 (二)
7.我们在项目根目录下建Maps文件夹,并在文件夹中创建PersonMap.xml映射文件,如下<sqlMap namespace="PratiseMyBatis" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <alias>
2016-09-02 14:29:52
823
原创 学习MyBatis.Net 之路(一)
MyBatis.NET的前身为IBatis,是JAVA版MyBatis在.NET平台上的翻版,相对NHibernate、EntityFramework等重量级ORM框架而言,MyBatis.NET必须由开发人员手动写SQL,相对灵活性更大,更容易保证DB访问的性能,适用开发团队里有SQL熟手的场景。下面是使用步骤: 1.到官网http://code.google.com/p/mybatisnet/
2016-09-02 11:09:09
1797
原创 MVC笔记(1)
1.在 mvc中常常需要调用EntityFramework.dll这个组件。 解决方法: 在菜单栏 里 视图–>其它窗口–>程序包管理器控制台 这个时候在 PM> 后输入 Install-Package EntityFramework 然后自动就会添加到启动项目中
2016-07-19 15:13:16
224
原创 享元模式
享元模式: 运用共享技术有效的支持大量细粒度的对象UML结构图: 基本代码: public abstract class Flyweight { public abstract void Operation(int extrinsicstate); } public class ConcreteFlyweight : Flyweight {
2016-07-13 11:18:04
197
原创 中介者模式
中介者模式:用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。UML结构图:代码: //抽象中介者类 public abstract class Mediator { public abstract void Send(string message,Colleague colleague)
2016-07-12 16:50:33
177
空空如也
C# 使用注册表控制桌面图标的显示和隐藏
2016-09-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人