- 博客(56)
- 资源 (1)
- 收藏
- 关注

原创 经验总结56--mybatis返回主键
使用mybatis框架时,有时候需要新插入的数据的主键是多少。1.oracle由于oracle是建的序列文件,获取ID值。 SELECT SQ_WL_CARRIERS.Nextval as ID from DUAL insert into spares(spares_id,spares_name...... 2
2015-06-26 16:03:23
632

原创 经验总结55--spring开启事务回滚
使用spring的@Transactional注解,异常时,进行事务回滚。1.引用xmlns:tx="http://www.springframework.org/schema/tx"http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.x
2015-06-26 15:58:11
927

原创 经验总结54--搭建linux虚拟机环境
好久没写博客了,写一篇环境搭建吧。自己做java,有时会接触linux环境,自己可以搭建一个,方便自己做实验和学习。1.下载VM11。下载并按照VM:http://rj.baidu.com/soft/detail/13808.html?ald。2.下载CentOs6.5。下载centos系统,自己熟悉的linux系统都可以。建议下完整版,压缩包有可能会安装不上。3.使用
2015-06-08 10:10:23
768

原创 经验总结53--java枚举
使用java枚举代替字符串或静态变量。1.简单使用颜色枚举类:public enum ColorEnum {RED, BLACK, GREE, BLUE}调用:public static void main(String[] args) {System.out.println(ColorEnum.RED.toString());System.out.p
2015-04-28 10:50:24
585

原创 经验总结52--maven创建web项目
maven是个好东西,对jar进行统一管理,避免缺少必要的包。有时上传到svn,总是缺少这样那样的包,建议使用maven,自定义包,也可以去申请个地址,统一使用。先介绍maven创建普通的web项目。1.创建项目。选择存放路径输入webapp,选择输入信息2.修改配置右键,build path修改java版本为1.7,取消D we
2015-04-09 14:15:20
594
原创 经验总结51--redis内存数据库
最近比较忙,研究了很多java的东西,慢慢发表出来。使用linux系统。redis内存数据库,可进行简单的key和value储存。效率高。1.下载rediswget http://redis.googlecode.com/files/redis-2.2.12.tar.gz2.编译源程序||tar xzf redis-2.2.12.tar.gz
2015-03-31 18:34:15
650
原创 经验总结50--List排序,JAVA
两种方式。1.继承Comparator接口。实现compare方法。public int compare(Person o1, Person o2) {return o2.getAge().compareTo(o1.getAge());}2.Collections.sort方法。(建议,方便)List list = new ArrayList();list.
2015-03-16 15:42:14
527
原创 经验总结49--linux命令
最近比较忙,年后项目多,学的东西也多。以前都是window部署项目,没接触过linux,现在公司都使用这个,就得学习这玩意了。没接触,学起来真是费事,自己装虚拟机,配置各种东西,由于版本不同,好多命令也不对,搞得很郁闷。后面还是统一系统版本,开始尝试各种命令。最开始连文本都不知道如何编辑,如何退出,很悲催,后面熟悉了,就方便很多了。下面是一些简易常用的命令。入门后,可去网上查询
2015-03-13 09:53:44
650
原创 经验总结48--项目成员分工猜想
对于小公司来说,一个人啥活都得干,全能,但是一个都不专。做出的的东西也不怎么好,前段、后台、数据库、服务器都得管。虽然了解很多东西,但是对个人长远发展并不好。大公司一般就会开始分工,招不同的人,干着具体的事,但是如何更加快速的合作,提高开发速度,也是个问题。自己之前在一家小公司干过,虽然小,但是团队成员还算齐备,有美工、文案、前段、后台,只差一个运维了。然后由前段来连接其他成员
2015-02-27 16:55:51
782
原创 经验总结47-Elipse配置多个Tomcat
开发时,需要不同的服务器,部署不同的项目,而且不影响测试。C#有个IIS服务器,会很方便,添加个地址就可以了。Elipse使用Tomcat,需要配置下也可以实现了。1.复制tomcat文件夹。2.修改server.xml文件。修改端口,把以下三个端口修改以下。3.eclipse新建server,并选择不同的地址。4.分别部署不同的项目在不同的服务器。
2015-02-09 14:15:38
681
原创 经验总结46-java反射
java反射机制可以用来动态加载一些类。Class.forName1、加载数据库。Class.forName(“com.mysql.jdbc.Driver”);2、减少if或switch判断。return (Animal) Class.forName(name).newInstance();传递name(包全名,区别大小写,可用静态变量),实例对应的类,不需要去
2015-02-03 10:55:19
670
原创 经验总结45-springmvc,多数据源
有时需要连接多个数据库,数据源不一致,需要配置。1、配置xml。一个数据源,一个template。......可重复配置多个。对应的class,是继承BasicDataSource。并可进行加密操作。2、公共类。@Autowiredprotected JdbcTemplate jdbcTemplate;@Autowiredpr
2015-01-30 09:43:57
687
原创 经验总结44-java和c#的一些联想
重新做回java,看了下公司的项目。1、网站做成了全静态页面,使用freemarker进行静态化。任何修改或数据修改,都需要后台生成一遍静态页面,这样前台可以直接访问页面,不需要请求,除非一些动态的必要数据再进行ajax请求。之前做c#使用的是控制请求路径,一旦访问就生成静态文件,这件不需要统一生成文件。希望这方面java有所提升,也可能我不清楚还有其他技术。2、mvc职责。
2015-01-27 09:42:03
610
原创 经验总结43--新旅程
公司倒闭了,小公司,选的产品不太合适,行情不好,只能倒闭了。这年底倒闭,真够凄惨,继续找工作吧。不能再找小公司了,太危险。重新找了份互联网java工作,继续做java吧。保持学习进步的心态,深入研究。接下来做个纯技术的活,技术牛才是王道。以后继续分享java方面的技术。
2015-01-26 09:16:21
703
1
原创 经验总结42--备份(写给自己)
最近因为出现数据丢失,搞得很不爽。刚开始自己的笔记本电脑想重装下,一个win7系统是装好了,没有网卡驱动,使用官方的驱动也是死活装不上。后面又想着去装个win8.1算了,下载了几个试了下,一个是直接装不上,另一个是装好了,用几分钟,显示器闪两下就重启了,多半显卡驱动不兼容。后面装直接就装不上,说是硬盘读取问题,就开始怀疑自己硬盘坏了。然后就开始各种检查,最后又重置驱动啥的,导致硬盘
2014-12-24 16:32:57
751
原创 经验总结41--方法的可选参数
方法可使用可选参数。public void GetData(string id,string name="",string type="")这种方式可以用于扩展,比如新增一个查询参数,写在后面即可,不需要去修改以前的方法。其实这是一种偷懒的方式,正规的使用应该写很多的重载方法,因为参数不一样。但是重载的话,又会导致代码重复无意思,及时使用数组传参或者传空参数之类的方法出现,并不方便
2014-12-12 17:38:30
629
原创 经验总结40--C#枚举
枚举,一般用于定制一些静态变量,有键和值。比如审核状态:public enum EnumState{待审核=1,技术已审核=2,财务已审核=3,老总已审核=4}这样,使用的使用枚举进行代码操作,而不是使用字符串。获得字符串:EnumState.技术已审核.toString()获取数值:(int)EnumState.技术已审核在html中进行绑定。循环枚举@for
2014-12-09 17:51:40
576
原创 经验总结39--屏蔽非法文字
做评论时,得对一些非法文字进行屏蔽,不然影响身心健康了。使用正则表达式进行匹配替换。1、我使用的是txt文件作为文字库。File进行读取操作。string str= File.ReadAllText(path, Encoding.UTF8);2、数据类似与。string str=(aa)|(dd)|(cc)3、取出数据后,进行匹配。 content = System
2014-12-04 10:46:11
1185
原创 经验总结38--新闻内容处理
新闻模块的内容一般会使用一些插件进行渲染。这样得到的内容有很有标签。下面介绍下需要注意的事项。1、危险内容。由于渲染过的内容有很多的特殊符号,一般提交,会被拦截,并提示错误。有两种处理方式:编码和降低安全性。对内容进行编码,然后储存起来,取出时需要进行解码,速度很慢。由于新闻内容较多,并且后台操作,有账户权限控制,安全性很高,所以建议降低安全性。C#:[Valida
2014-11-17 14:52:22
635
原创 经验总结35--IP地址区域匹配
想知道客服端访问的IP地址是多少,并知道区域。一般可以去http://www.ip138.com/,输入IP查询,但没提供比较好的接口,程序使用不方便。另外有些企业提供一些离线的IP数据库,可以进行匹配。但这里建议使用在线的数据库,数据库完整,更新较快,也有好用的API,直接访问即可。下面提供常用的API:淘宝的IP接口地址: http://ip.taobao.com/inst
2014-10-23 10:01:10
1075
原创 经验总结34--C#计时器,准点统计
最近做一个数据统计的功能,需要准点进行统计。分别是1分钟,5分钟,30分钟,一天。开始想着写4个计时器分别统计,但获取准点时间比较困难。比如5分钟数据,10:02分时你得统计9:55-10:00的数据,判断太多。最后思考下,一个1分钟计时器就可以了,如果到5分钟时间时同时进行1分钟和5分钟数据,后面依次类推。1、计时器System.Timers.Timer tradeTim
2014-10-20 15:26:00
1001
原创 经验总结33--面向切面的过滤器
想做一个统一的验证机制,当调用方法的时候进行身份验证,再去执行对应的方法。那么就想到使用过滤器,C#有面向切面的属性,直接在方法上使用一个属性即可。1、使用过滤器。public class ValidateFilterAttribute : ActionFilterAttribute { public override void OnActionExecut
2014-10-10 11:27:26
693
原创 经验总结32--c#,反序列化
在对JSON数据进行处理时,可直接使用JavaScriptSerializer 进行处理,会异常的方便。protected static JavaScriptSerializer js = new JavaScriptSerializer();1、针对result=“{"id":"2","name":"csdn"}”数据。先建一个类User,然后User user=js.Deseri
2014-09-29 13:46:29
713
原创 经验总结31--VS2013,SVN
最近打算换掉TFS,使用下听说很好用的SVN。下载地址:http://pan.baidu.com/s/1sjK3aihVS2013集成SVN。1、服务器下载安装VisualSVN-Server-2.5.5,2、服务器下载安装TortoiseSVN-1.8.8.25755-x64-svn-1.8.103、服务器新建资源,把创建好的WEB项目放进去。4、客服端下载安装AnkhS
2014-09-10 15:03:44
2186
原创 经验总结30--sqlserver新建用户
涉及到数据库安全问题,不使用sa进行数据库连接,应该新建个用户来进行连接。1、登录。2、安全性-登录名-右击新建用户。3、常规。输入登录名,选择身份验证,输入密码,取消强制实施密码策略,选择默认数据库。4、用户映射。选择数据库。5、状态。授予和启用。6、右击实例-属性-安全性,启用双重验证。8、查看数据库权限。只有基本的连接功能,可增加权限。注:该用户应该尽量少的权
2014-09-09 16:07:02
845
原创 经验总结29--C#,简单读写文件
写程序时,会经常进行文件的读写操作。记录下,方便以后copy使用。 /// /// 写文件 /// /// 文件路径 /// 文件内容 public static void WriteFile(string Path, string Strings) {
2014-09-02 13:44:05
607
原创 经验总结28--时间戳相关,C#
一般使用时间戳来设置唯一性,保存图片之类时可加在文件名后面。时间戳一般为17位。1、获取当前时间的时间戳。TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); string result = Convert.ToInt64(ts.TotalSeconds).ToString(
2014-08-28 11:35:12
1132
原创 经验总结27--EF多对多额外内容
使用EF的多对多时,发现直接取数据时会出现问题。不如role,user,取user.role的时候。由于EF是懒加载,所以在使用时会提示context已关闭之类的错误,取不到需要的数据。可以获取到user时,再去查数据库获取role,这样比较麻烦,猜想应该有更方便的方法。暂时使用一个单独的变量来存储user.role的数据。这样,再使用是,内存开辟了新的空间进行储存。
2014-08-26 17:07:52
740
原创 经验总结26--EF6多网站使用一个数据库
当使用EF生成数据库后,想多个网站使用同一个数据库,并且进行前台后台分离,或者以后进行app扩展使用。但尝试分离后,发现第二个网站访问数据库时,会提示进行数据库结构改变,需要迁移的错误。但并未使用过数据库迁移,也是重新生成的数据库。后面同事查阅资料和研究,才发现是数据库初始化的问题。Database.SetInitializer(null);该代码是必须要执行一次的,一般新
2014-08-19 11:35:06
1024
原创 经验总结25--释放内存的重要性
在写代码的时候,可能会忽略释放内存、缓存之类的处理。有时使用的类会自动调用释放方法,但在我们不知道是否是否的情况下,建议亲自是否。方法一:Dispose方法。主动去调用该方法,清除内存,释放空间。方法二:继承IDisposable借口。若没有Dispose方法,那么主动让类去继承IDisposable,可重写Dispose方法。然后再主动调用方法释放内存。方法三:usi
2014-08-11 11:37:12
1241
原创 经验总结24--捕捉异常的重要性
捕捉异常。try{}catch(Exception e){throw new Exception("发现异常");}1、建议在写一段代码的时候,对一块内容进行异常捕捉,捕捉后,可以提交到外层,也可进行自己的处理。比如写入数据库,写入日志,写入文本等。或者重新启动程序之类的处理。2、建议一块一块进行捕捉,而不要整个代码捕捉一次,这样可以很明确知道出错在哪,方便调试。3、另
2014-08-04 17:27:25
1290
原创 经验总结23--C#多线程和加锁
C#的线程蛮简单。Thread t1 = new Thread(Runing); t.Start();可以使用匿名线程进行传参。Thread t = new Thread(() => { Runing(); }); t.Start();这样的话R
2014-08-01 15:51:32
2522
1
原创 经验总结22--抓取HTML数据,HtmlAgilityPack(续)
接经验总结20的WEB请求。如果获取的数据是HTML的话,我们就需要第三方工具有辅助获取我们需要的数据。我选用了HtmlAgilityPack这么个工具。首先肯定去网上下载一个,然后引用到项目中。下载地址:http://htmlagilitypack.codeplex.com/1、模拟WEB请求。获取到HTML数据。详细请看之前的文章。string result="";2、
2014-07-28 11:35:35
1027
原创 经验总结21--抓取WEB数据,汇率,HtmlAgilityPack
网上找了很多资料,PHP的比较多,然后找到有csv文件的,处理起来很麻烦,国外的网站速度很慢。最后还是去页面上抓取数据,我是从中国银行抓取的,各位可去其他网站抓取。1、模拟请求URL。string url = "http://srh.bankofchina.com/search/whpj/search.jsp?pjname=1316";HttpWebRequest reques
2014-07-23 15:38:21
1379
原创 经验总结20--C#模拟WEB请求
很多语言可以使用代码进行WEB请求,获取到需要的数据。方便调用别人的接口,自己进行处理。HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.ContentType = "appl
2014-07-21 09:42:52
808
原创 经验总结19--C#事件
之前学过C#事件,不过一直没搞懂怎么弄。这一次又研究了下。1、定义一个参数类,用于事件的传参。(可省略) public class UserEventArgs { public User user { get; set; } }2、编写需要执行事件的类。 public class UserTask {
2014-07-17 09:21:39
711
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人