letsencrypt 自动续期
Janus-Pro 使用
AI学习记录
通过VLAN 进行局域网隔离
阿里云Ubuntu 重0开始
PVE 中LXC的Ubuntu安装minikube
Office Online安装
elasticsearch 学习记
搭建Docker仓库
PVE安装MacOS 14
最新发布
2014.04.15
admin
阅读(4011)
评论(0)
这个组件一年前就写了..文字水平有限,一直没有写出来.现在想来怎么实现的都不记得了。。反正至少是写了2个差不多通宵,兴趣来了挡也挡不住呀.其中有一个方法没百度到,还是谷歌去搜的英文对着词典看的....
虽然有微软有LINQ 不过只支持SqlServer ,EF 的话 对多数据库也不是支持太好,有好多字段类型不同数据库会不同。网上也有LINQ TO MySQL 之类的,本着学习的态度,我决定来自己实现一个LINQ。不求太复杂,只需要简单的单表查询,毕竟没那么大精力去研究。
真的不知道该如何下笔了。。实在忘了,以后有点东西还是马上分享吧。对于查询,好像是继承Exp [...] 阅读全文
2014.04.15
admin
阅读(4202)
评论(0)
接上面2篇,下面是具体实现,先定义一个抽象类DALAbstract
里面的DbQueryable 是自定义的linq查询,,没有实现完全 以后再分享出来
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Configuration;
using System.Transactions;
using System.Linq;
using System.Linq.Expressions;
using [...] 阅读全文
2014.04.15
admin
阅读(3897)
评论(0)
第二篇是写一个orm帮助类EntityHelper 该类是泛型类 T 就是实体类型
还定义了一个委托public delegate object NewIDHandler(); 用于生成主键ID,因为我们有时候并不会让数据库来生成主键,比如我们用到多数据库同步的时候,自动递增可能不是太方便.
至于里面的IDbHelper 接口 请参照 <<一个通用的数据组件>>
using System;
using System.Collections.Generic;
using System.Data;
using Sy [...] 阅读全文
2014.04.15
admin
阅读(3612)
评论(0)
现在有不少ORM 框架了,不过本着学习知识的精神,来自己动手写一个简单的ORM框架,暂时不考虑多表的关联,因为有时候我们就是需要单表的操作,多表的话也可以分成多个单表操作 然后写个事务嘛. 原理很简单,就是根据POJO 来生成增删改查的sql,当然这其中需要用到反射的相关知识.
这个库自己用过,经过了很多次大改版。。所以说开发还是要先做好需求和架构,然后理清总体思路。最开始我定义了一个表属性TableAttribute和一个列属性ColumnAttribute 到最后为了纯pojo 我想办法去掉了这两个,不过要求数据操作类实现2个接口,一个是获取表名 一个是获取主键 [...] 阅读全文
2014.04.15
admin
阅读(4142)
评论(0)
接着上面两篇,写一个DbHelper类最终完成接口的实现
using System;
using System.Data.Common;
using System.Data;
using System.Collections.Generic;
using FYJ.Data.Util;
namespace FYJ.Data
{
public class DbHelper : DbHelperAbstract
{
private DbTransaction tran;
#region 构造函数
[...] 阅读全文
2014.04.15
admin
阅读(4021)
评论(0)
上一篇定义了一些接口,接下来做一个实现呢
先来定义一个抽象类GetDataAbstract 作用是获取不同数据类型的值,方便操作,当然没有写完所有类型。
该类包含一个抽象方法
public abstract DataSet GetDataSet(IEnumerable<IDataParameter> parms, string sql);
然后下面这些方法就可以根据抽象方法取值,无非就是取不同类型的值嘛.
object GetObject(IEnumerable<IDataParameter> parms, st [...] 阅读全文
2014.04.11
admin
阅读(3731)
评论(0)
Linq排序有很多方法,好多都是关于静态排序,而静态排序相对来说比较简单,也比较容易实现,我这里需要一个动态排序。就是按字符串形式传递需要排序的列名,和"asc","desc"。这需要我们动态构建lamdba表达式,下面来看写的一个扩展类,部分源码参考了网上,还有的AsQueryable() 这个方法是看了http://blog.csdn.net/fhzh520/article/details/6062447 这篇文章才知道的..以前总是IEnumerable<T>强转IQueryable<T> 但有时候失败.
using System;
usi [...] 阅读全文
2014.04.06
admin
阅读(3724)
评论(0)
wordpress上的tinymce编辑器貌似真的不太好用,网上有些换成百度ueditor的,但是大都是3.2的…,不过也尝试看下吧,把下载来得UEditor.zip解压到wordpress插件目录,后台安装。然后看到写文章页面出现了一上一下的两个编辑窗口。。。这个时候不要着急,我们在通过一些手段修改功能,让wp的默认编辑器是UEditor。
1.通过编辑UEditor插件修改ueditor/editor_config.js中的URL变量为绝对路径或者相对路径URL = window.UEDITOR_HOME_URL||tmp.substr(0,tmp.lastIndexOf [...] 阅读全文
2014.04.06
admin
阅读(4325)
评论(0)
在discuz后台搜索云存储,竟然只有2个,倒是有个百度云存储,还是收费的。好吧,自己来改造下吧。
我们先把百度云存储php的sdk放到discuz的根目录,在conf.inc.php文件下配置好自己的AK,SK,Bucket。
研究代码和调试发现要经过source/class/discuz/discuz_upload.php文件,我在这个文件上加了个方法
function save_to_bcs($source, $target) {
$succeed = false;
try {
require_once( dirname(dir [...] 阅读全文
2014.04.05
admin
阅读(3176)
评论(0)
不像as.net,jsp可以通过拦截,php需要单一入口的设计方式才可以
在index.php 的最前面加上
//将www主机头301定向到不带www
if (stristr($_SERVER ['HTTP_HOST'],"www.fyj.me" )||stristr($_SERVER ['HTTP_HOST'],"duapp.com")) {
header ( "HTTP/1.1 301 Moved Permanently" );
header ( "Location:" . "http://fyj.me".$_SERVER ["REQUEST_URI"] );
[...] 阅读全文