【Lolttery】项目开发日志 - (三)维护好一个项目好难

项目的各种配置开始出现混乱的现象了

在只有一个人开发的情况下也开始感受到维护一个项目的难度。

之前明明还好用的东西,转眼就各种莫名其妙的报错,完全不知道为什么。

今天一天的工作基本上就是整理各种配置。

再加上之前数据库设计出现了问题,要增加一个表,改几个名字,删几个字段……真是头大

1、gradle排除依赖

在打war包的时候出现了spring-boot与dubbo框架自带的spring2.5.6冲突的情况,于是学会了这么一招:

//仅在本地执行时使用,不添加到war
    providedRuntime ‘org.springframework:spring:2.5.6.SEC03‘
    //排除依赖
    compile(project(‘:client-core‘)) {
        exclude group:"org.springframework", module:"spring:2.5.6.SEC03"
    }

配置写在gradle的dependencies中,将这个包排除在外,用新的spring4就好了。

不禁吐槽dubbo是有多古老的框架嘛?为啥不支持新一代的spring啊?

然而今天配置完后出现了找不到spring-servlet.xml配置文件的问题。明明放在一起的spring-core.xml都能找到的说。此问题留待明天解决。

2、spring使用配置文件

在本地环境、测试环境、生产环境的各种切换当真是非常操蛋的一件事情。

为此做的第一件工作是统一数据源,redis、mysql等数据源都分别创建唯一的bean用spring注入。算是很基本的做法。

这两天发现就算是每次改spring的xml文件也是个挺操蛋的事情。于是小小的尝试了一下这个标签:

<context:property-placeholder location="/config.properties"/>

应该算是新增的标签,在网上搜索到的方法要活生生的写一个bean配置,这个能省事不少。

这样直接用${prop.name}就可以添加配置咯~

3、mybatis联合查询~

还记得上次说的mybatis联合查询功能么,很快就用上了。

为了能利用这个功能,我活生生的修改了数据库的结构。其实也是一开始设计的不标准。这次彻底符合2NF的设计,就可以愉快的联合查询了。

作为这次修改的教训:

不要把m:n的关联写到数据表里面!

不要把m:n的关联写到数据表里面!

不要把m:n的关联写到数据表里面!

多建一个关联表不会死人。

第一个联合查询的代码贴上来留作纪念~

<resultMap type="com.xinou.lolttery.server.bean.Team" id="teamResultMap">
        <!-- 属性名和数据库列名映射 -->
        <id property="id" column="team_id"  />
        <result property="shortname" column="team_shortname"  />
        <result property="logo" column="team_logo"  />
    </resultMap>

    <resultMap type="com.xinou.lolttery.server.bean.MatchTeam" id="linkResultMap">
        <!-- 属性名和数据库列名映射 -->
        <id property="id" column="link_id"  />
        <result property="teamid" column="link_teamid"  />
        <result property="place" column="link_place"  />
    </resultMap>

    <resultMap id="appMatchList" type="com.xinou.lolttery.server.bean.result.AppMatchList">
        <id property="id" column="id" />
        <result property="zone" column="zone" />
        <result property="winner" column="winner" />
        <result property="zonename" column="zonename" />
        <result property="zonelogo" column="zonelogo" />
        <result property="matchdate" column="matchdate" />
        <result property="matchmode" column="matchmode" />
        <result property="result" column="result" />
        <collection property="teams" ofType="com.xinou.lolttery.server.bean.Team" resultMap="teamResultMap"/>
        <collection property="links" ofType="com.xinou.lolttery.server.bean.MatchTeam" resultMap="linkResultMap"/>
    </resultMap>

    <select id="queryByTime" parameterType="long" resultType="com.xinou.lolttery.server.bean.result.AppMatchList" resultMap="appMatchList">
        select m.*,mt.id link_id,mt.teamid link_teamid,mt.place link_place,t.id team_id,
        t.shortname team_shortname,t.logo team_logo, z.name zonename,z.logo zonelogo from
        ((lt_match m left join lt_match_team mt on mt.matchid = m.id ) left join lt_team t on t.id=mt.teamid)
         left join lt_match_zone z on m.zone = z.id where m.matchdate &lt; #{0} limit 0,20
    </select>
时间: 2024-10-12 11:34:53

【Lolttery】项目开发日志 - (三)维护好一个项目好难的相关文章

使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享

使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发人员更轻松的打造出功能丰富而且美观的UI界面.开发人员不须要编写复杂的javascript,也不须要对css样式有深入的了解,开发人员须要了解的仅仅有一些简单的html标签.jQuery EasyUI为我们提供了大多数UI控件的使用

.NET项目开发的几个非常重要的项目设置

在开发.NET项目的时候,包括Winform项目和Web方面的项目,编译和部署的时候,都需要考虑到是32位的X86方式,还是64位的方式,有时候还需要进行调试,如果没有合理设置好这些关系,还可能出现无法调试的问题,本文基于我对Winform的开发总结,介绍在.NET项目中对项目工程的设置操作. 1.设置编译平台的属性 一般情况下,我们为了同时兼容32位和64位操作系统,我们需要对设置好.NET项目的编译属性,一般设置为X86的方式.在VS的IDE里面,选择生成->配置管理器菜单. 如我的混合框架

诸城项目-开发日志

转首已是两年前,现在坤哥要毕业了,王兵兵师姐读博了,小师弟小师妹也已经读研-- ====== 20140217 使用jquery.PrintArea.js(Version 2.3.3)完成分页打印功能 将想要打印的数据放入到div中就好,该控件使用css控制分打印的 20140218 优化分页打印代码,在文件中加注相关注释 在vs2013中建立测试用的解决方案,考虑到计划书中用vs2010,选用Framework3.5 TuDiChengBao项目名称 使用zTree开始搭建首页,与之搭配大的j

仿LOL项目开发第三天

仿LOL项目开发第二天 by草帽 昨个我们已经实现了下载功能,但是发现没有,下载的包是压缩的,没有解压开,那么Unity是识别不了的. 所以今个我们来讲讲如何实现解压文件. 还记得吗,我们在DownloadTask里面添加了一个完成下载后的一个解压委托,我们还没有实现,那么,我们就去解决他. 回到VersionManager的DownloadPackageList方法里面,在OnDownloadFinished委托里面,添加解压缩的代码. 之前讲过类的单一职责,所以不可能在VersionMana

Visual Studio VS如何拷贝一个项目的窗体文件到另一个项目

1 比如下我有一个项目,我要把这个Config整个窗体和代码拷贝到另一个项目 ? 2 在新项目中添加现有项,然后把这个窗体相关的三个文件都添加到新的项目中 ? 3 然后在新窗体中就什么都有了 ? ? ? ?

在IIS EXPRESS下运行一个visual studio 项目,跳转到另一个项目的解决方案。

原因是因为以前有一个项目也是3690端口,然后在3690端口上建立了一个网站,现在的新网站也是用的3690端口,那么会调用以前网站的WEB.CONFIG文件. 解决方法,右键单击网站,然后选择属性.在WEB里面修改端口号并新建虚拟目录,如下图. 此方法在VS2015下测试通过.

【Lolttery】项目开发日志 - (四)dubbo初战

这几天又学到了新知识:dubbo框架 此框架很好的解决了我之前的Netty微服务框架中遇到的服务注册.管理的问题.于是拿来学学 官网地址:http://dubbo.io/ 1.服务端的配置: dubbo可以与spring良好的结合,所以服务端的配置就比较简洁: <dubbo:application name="match-provider" /> <dubbo:protocol name="dubbo" serialization="fa

Android项目开发第三周

(一)学习内容概括 1.Android的应用界面编程 2.塔防游戏的学习 (二)学习内容 1.布局管理器:线性布局.表格布局.帧布局.相对布局.网格布局.绝对布局. 2.textview及其子类 3.imageview及其子类 4.adapterview及其子类 5.progressbar及其子类 6.viewanimator及其类 7.塔防游戏的学习 游戏的类框架 公共类 游戏的控制器TafangGameACtivity类 TafangGameACtivity类的框架搭建 Handler消息处

Android开发的初学者快速创建一个项目

因为gwf的原因,大陆连不上google所以AndroidSDK是无法更新的 而且设置代理也不一定能解决问题 如果是初学者想快速的了解安卓开发,可以在国内的内网下载整合包 下载地址:http://rj.baidu.com/soft/detail/23485.html?ald 快速创建一个安卓项目------hello world! 1.file--Android application project 3.设置项目名称,app名称,app唯一标识.项目适用于安卓版本 4.图标,界面,项目位置,及