风人园

弱水三千,只取一瓢,便能解渴;佛法无边,奉行一法,便能得益。
随笔 - 99, 文章 - 181, 评论 - 56, 引用 - 0
数据加载中……

遍历所有数据文件的大小

 

1、新建一个临时数据库,用于存放查询结果
CREATE TABLE DatabaseFileLog
(
 date DATETIME,
 dbname VARCHAR(20),
 FILENAME VARCHAR(100),
 fileSIZE FLOAT
 
)


2、通过游标遍历所有数据库
declare @dbName varchar(50)
declare @command varchar(1024)
declare dbName_cursor CURSOR FOR
    select [name]
    from master.dbo.sysdatabases
    where [name] not in ('master','tempdb','msdb','model')
open dbName_cursor
FETCH NEXT FROM dbName_cursor INTO @dbName
WHILE @@FETCH_STATUS = 0
begin
    set @command = '
        insert into DatabaseFileLog
        select
        getdate(),
        '''+
        @dbName
        +''',

        filename,
        convert(float,size) * (8192.0/1024.0)/1024.0 as ''MB''

        from '+@dbName +'.dbo.sysfiles ';
    exec ( @command );
    FETCH NEXT FROM dbName_cursor INTO @dbName ;
end
CLOSE dbName_cursor;
DEALLOCATE dbName_cursor;

3、查询结果
SELECT * FROM DatabaseFileLog

posted @ 2011-09-06 10:46 风人园 阅读(207) | 评论 (0)编辑 收藏

eclipse 注释模版 设置


设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。

常用的,一般两个

文件(Files)注释标签:

/**  
* @Title: ${file_name}
* @Package ${package_name}
* @Description: ${todo}(用一句话描述该文件做什么)
* @author A18ccms A18ccms_gmail_com  
* @date ${date} ${time}
* @version V1.0  
*/


类型(Types)注释标签(类的注释):

/**
* @Description: ${todo}(这里用一句话描述这个类的作用)
* @author ${user}
* @date ${date} ${time}
*
* ${tags}
*/

posted @ 2011-08-18 16:30 风人园 阅读(344) | 评论 (0)编辑 收藏

Spring MVC 使用中的注意事项

    ModelAndView中保存了要传递给视图的对象和具体要使用的视图文件,自2.0起, Spring MVC提供了Convention over Configuration的机制,大大简化了代码与配置。简单地说,名字以Controller结尾的控制器类都会被映射为相应的地址,ListArticleController对应/listarticle*,如果是MultiActionController则会被映射为一个目录;向ModelAndView添加对象时可以不用指定键(key),单一对象的键取决于类名,比如x.y.User的键是user,而某一类对象的 Set、List或数组则稍有些复杂,取第一个对象的类名加上“List”作为它的键,比如这里的articles是一个存放Article对象的 List,它的键就是articleList;
也可以通过执行key,来指定变量名称

posted @ 2010-12-30 15:51 风人园 阅读(369) | 评论 (0)编辑 收藏

spring 事务的回滚问题

    spring的事物配置,默认状态下,只针对 RuntimeException 进行回滚。
而像SQLException并不是RuntimeException,所以这里需要特别注意。

这里困扰了我很久,一直没有想明白为什么在一个事务里面,部分成功,部分失败。可能就是这个原因导致的。
也就是说,一些系统级别的异常,前期都需要转化成 RuntimeException 。这样就可以进行回滚了。

但是这样的只需要修改底层,另外一个偷懒的方法,在每个service类上直接指定rollback = Exception.class。这样所有的异常都会回滚。但是这样有没有副作用,但是不清楚。

异常一直是我没有搞定的一块内容之一,称这个机会研究一下。
为什么需要分check 和unckeck,两者有什么不动点。
如果都是用uncheck,会不会有什么问题?
待续。。。

posted @ 2010-12-14 14:01 风人园 阅读(859) | 评论 (1)编辑 收藏

hibernate 关联查询错误(Path expected for join)

    以前没怎么用,现在真用起来的时候还是会有很多白痴问题,哈。
    今天想做一个left join , 关联关系应该是已经配好了,但是调用hql就是报错,也不知道怎么回事。继续研究ing。

posted @ 2009-12-10 14:00 风人园 阅读(4899) | 评论 (1)编辑 收藏

Hibernate主从数据的操作

struts2+spring2.5+hibernate 3.3

在hibernate的操作中,特别是主从数据的操作。

一般有这么几个地方需要注意,以前也一直没有拿hibernate好好用过,现在真正用起来,问题还是挺多了。这几天一直在调试解释这种问题。

主数据中的一对一关联,这里的关联数据从页面提交的时候是否可以直接映射到主数据对象中?暂时不清楚,可以测试一下。

然后是明细数据的操作,现在动态产生的行数据,然后手动解析,生成明细对象。整个过程个人感觉比较麻烦,暂时也想不出有什么好的解决方案。

这里在级联保存数据的时候,首先要清除掉原来的明细数据,然后再把页面提交过来的数据加上。
不知道一般是不是这样弄的。否则没法清楚原来的数据。


posted @ 2009-11-17 19:30 风人园 阅读(351) | 评论 (0)编辑 收藏

通过MyEclipse生成annotation方式的entity类

    通过搜索和阅读myEclipse的帮助文件,发现这是可以实现的。不过前提是,你使用的hibernate是3.2版本。这样就可以支持以注解的方式生成实体类了。跟hbm配制文件方式基本是一样的。

    昨天特地好好的看了一下MyEclipse的帮助,里面关于ajax web开发的工具感觉还是挺好用的,以前一直也没有了解一下里面的功能,以后要好好用一下,还是可以有不少帮助的。
    今天先起个头,明天写一个详细的操作说明,这样也方便自己,免得忘了。

posted @ 2009-11-15 19:02 风人园 阅读(494) | 评论 (0)编辑 收藏

Jxls 导出excel

 1     public static void exportExcel(String templateFileName, Map beans, 
 2             HttpServletRequest request,HttpServletResponse response){
 3         try {
 4             response.setContentType("application/vnd.ms-excel");
 5             response.setHeader("Content-Disposition""attachment; filename=excel.xls");
 6             XLSTransformer transformer = new XLSTransformer();
 7 
 8             
 9             InputStream is = new BufferedInputStream(
10                     new FileInputStream(RequestUtil.getRealPath(request, templateFileName)));
11             
12             HSSFWorkbook workbook = transformer.transformXLS(is, beans);
13             OutputStream os = response.getOutputStream();
14             workbook.write(os);
15             is.close();
16             os.flush();
17             os.close();
18         } catch (Exception e) {
19             e.printStackTrace();
20         }
21     }
通过服务器端获取模版文件的绝对路径,然后通过response来输出到页面,就可以实现导出,这个比poi等等都简单很多,用起来比较舒服。
服务器路径的获取:request.getSession().getServletContext().getRealPath(name);
这样就可以获得web目录下某个文件的服务器端路劲。

今天在使用的时候发现一个问题,就是在使用表达式的时候有一个地方需要注意
${item.itemQty}
像上面的这个表达式就会出错,这里也没有看源代码,具体不是很清楚,但是看了一下日志,发现,后面的这个item也被替换了,所以觉得这个可能是jxls的bug或者是作者偷懒搞的。

以后只需要注意字段名不能跟bean的名字一样,否则就出错。

仅此记录

posted @ 2009-09-21 16:21 风人园 阅读(2726) | 评论 (1)编辑 收藏

IronTrackSQL配置

主要讲一下在配置的过程中出现的问题,基本的配置方式网上有很多。
这里讲spring的集成问题。
可能会出现两个问题
1、spring配置:
    

 <bean id="datasourceTarget" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <!-- Connection Info -->

 </bean>

    <bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">
        <constructor-arg>
            <ref local="datasourceTarget"/>
        </constructor-arg>
    </bean>

    这样就不会出现说找不到合适的驱动 这个异常。
2、是p6spy的版本问题,导致spring配置文件失败
    如果使用上面这个配置,需要1.3版本的p6spy.jar,我用老的,就出现说不能创建dataSource,没有合适的一个参数的构造函数。

这是今天配置IronTrackSQL出现的两个问题,让我折腾了一个下午,所以记下来。
还有一个问题就是
Warning: Could not instantiate IronTrack server: java.net.BindException: Address already in use: JVM_Bind
地址占用的问题,好像有两个server启动了。我重启一下就会出现这个问题,第一次启动就没有问题,暂时不知道什么原因。
找到了为什么重复启动的问题,项目启动了两次,导致后一次启动端口被暂用。
总的来说还是不错的,但是还搞不清楚怎么正确使用。
继续努力中

posted @ 2009-09-17 15:46 风人园 阅读(471) | 评论 (0)编辑 收藏

代码质量随想

        干了这么多年的代码工,对于代码质量的理解,个人认为就是一个,可维护性,除非你开发的东东是一锤子买卖,否则后期的投入会多的可怕,而且对于错误就没有办法控制了

        下面引用别人的一段话来说明一下什么是高质量的代码:
                高质量的代码,除了符合产品的功能设计需求外,还应该便于维护、执行效率高、经过充分测试并且拥有较好的稳定性。

        但是从我个人来讲,可维护性是第一位的,其他都是必须的,冲突的话就应该适当取舍。便于维护必然会影响到一点点的效率,但是这个肯定是可以接受的。是可以通过其他方式来弥补的。
        不能为了追求所谓的高效,而破坏了系统的维护性,这样导致后期维护会有很大的问题,从而可能导致低效。

        这里介绍几个工具,来提高代码质量。findbugs就是其中的一个,可以对代码提出很好的修改建议。

purifyplus 一个运行时检测系统,可惜不免费。


备注: rational team concert 协作开发系统,集成版本控制、工作项和构建

posted @ 2009-09-02 12:19 风人园 阅读(199) | 评论 (0)编辑 收藏

仅列出标题
共10页: 上一页 1 2 3 4 5 6 7 8 9 下一页 Last