Eclipse中使用buildship管理Gradle项目

Gradle就是可以使用Groovy来书写构建脚本的构建系统,支持依赖管理和多项目,类似Maven,但比之简单轻便。

目前Eclipse默认不支持Gradle项目

为了在Eclipse中使用Gradle,需要按照一个插件:buildship ,步骤如下:
(部分文章推荐sts,但是Spring建议: “We added a plugin from Eclipse Buildship to notify our users of using Eclipse Buildship instead of the legacy STS support for Gradle in the future.” )

1、打开Eclipse-Help-EclipseMarketplace

选区_001

2、搜索buildship

选区_0023、点击右下角的install(这里我已经安装,截图中现实installed)

4、按照Eclipse指引安装(接受协议,重启等)

5、检查:新建和引入项目处显示Gradle选项

选区_003选区_004

java.sql.SQLException: 对只读结果集的无效操作: updateString

在对可更新结果集进行更新操作时,报错:

java.sql.SQLException: 对只读结果集的无效操作: updateString

相关代码如下:

public class ResultSetTest {
public static void main(String[] args) {
updatableResultSet();
}
static void updatableResultSet(){
DBUtil util = new DBUtil();
Connection conn = util.openConnection();
String sql = “select * from test2”;
Statement stmt;
try {
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(sql);
rs.absolute(1);
rs.updateString(“name”,”李四”);
rs.updateRow();
} catch (SQLException e) {
e.printStackTrace();
}finally{
util.closeConn(conn);
}
}
主要原因:在写查询sql时,将字段都用*表示。

将以上代码中的String sql = “select * from test2”;

改为String sql = “select id,name,sex,email from test2”;

则updateString方法不在报错,表test2中第一行“name”列数据的数据值改为“李四”。

总结:在对可更新结果集(ResultSet.CONCUR_UPDATABLE)进行更新操作(rs.updateString)时,如果是Oracle数据库,在写查询语句时不能写select * from tb_name,这样就不能更新结果集,要把你要查询的字段一一写出来。

用select * 会导致该ResultSet强制readonly,但是同样的效果语句如果写成select 字段字段1,字段2,字段3…就会正常完成。

Java调用系统默认浏览器

 

import java.awt.Desktop;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class runBroswerC {
    /**
     * @author yyyit.com
     * @param args
     */
    public static void main(String[] args) {
        runBroswer(“www.yyyit.com”);
    }
    public static void runBroswer(String webSite) {
        try {
            Desktop desktop = Desktop.getDesktop();
            if (desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) {
                desktop.browse(new URI(webSite));
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (URISyntaxException ex) {
            ex.printStackTrace();
        }
    }
}

 

命令行进行Oracle数据库导入导出操作

1、资源管理器进到Oracle的bin目录下(我的是C:oracleproduct10.2.0db_1bin),Shift+鼠标右键,选择“在此处打开命令行窗口” ,进入命令行窗口进行操作。

2、导出:(查看帮助:exp help=y)

命令:exp USERID@DBName file=d:***bak.dmp owner=userName log=d:***bak.log

例:exp znwy/znwy@orcl file=d:znwy_20131119_bak.dmp owner=znwy log=d:znwy_20131119_bak.log

3、导入:(查看帮助:imp help=y)

命令:imp USERID@DBName file=d:***bak.dmp fromuser=userName log=d:***bak.log

例:imp znwy/znwy@orcl file=C:Usersdesk77znwy_20131119_bak.dmp fromuser=znwy log=C:Usersdesk77znwy_20131119_bak.log

Oracle trunc用法

获取当前月份第一天select trunc(sysdate,’mm’) from dual
结果:2013/10/1

TRUNC()函数分两种
1.TRUNC(for dates)
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date,[fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去

下面是该函数的使用情况:
TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
=’24-Nov-1999 12:00:00 am’
TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’

2.TRUNC(for number)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下:
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分

下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
问:我有一个表,其中包含两个日期”vis_dt1″ 和”vis_dt2″。我想要找到落在某个范围之外的所有的”vis_dt2 dates”,例如”vis_dt1″之后的144-260天,但是包括了”vis_dt1″在内。我知道Oracle给我之间的天数,但是我如何才能调整为第一天?有没有通用的方法可以这样的运行日期?
答:我认为你的where子句中应制定如下的条件来表达你的需求:
  TRUNC(vis_dt2) NOT BETWEEN trunc(visdt1+144) and trunc(visdt1+260)
  AND trunc(vis_dt2) >= trunc(vis_dt1)

取2个日期之间的天数,用法示例:

select trunc(to_date(‘20040102′,’yyyymmdd’) – to_date(‘200312′,’yyyymm’)) from dual;
结果:32
select trunc(to_date(‘200401′,’yyyymm’) – to_date(‘200312′,’yyyymm’)) from dual;
结果:31
select trunc(to_date(‘2004′,’yyyy’) – to_date(‘2003′,’yyyy’)) from dual;
结果:365

Oracle 连接查询

oracle左连接,右连接查询

在Oracle PL-SQL中,左连接和右连接以如下方式来实现  查看如下语句:

SELECT emp_name, dept_name

FORM Employee, Department

WHERE Employee.emp_deptid(+) = Department.deptid

此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向, 右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配, 也就是说上例中无论会不会出现某个部门没有一个员工的情况, 这个部门的名字都会在查询结果中出现。

反之:

SELECT emp_name, dept_name

FORM Employee, Department

WHERE Employee.emp_deptid = Department.deptid(+)

 则是左连接,无论这个员工有没有一个能在Department表中得到匹配 的部门号,这个员工的记录都会被显示.

vim

2016-02
编译安装
官方介绍页面:http://www.vim.org/git.php
github-vim :https://github.com/vim/vim
迁出代码后先安装一下编译依赖。

sudo apt-get install libncurses5-dev
make
sudo make install
echo "set nocompatible" >> ~/.vimrc

=============
2015-06
VIM常用命令:
yy 复制
p    粘贴
dd  删除行(剪切行)  ndd 剪切多行  dw 删除单词  di”  删除引号内的内容
yi”  复制引号内容
vi”  选中引号内容
s/123/321/g 替换当前行的123为321
%s/<a/<a class=”btn btn-primary”/   全文替换
set number 显示行号
http://blog.csdn.net/tms_li/article/details/7470523

vim中直接执行当前文件: 按shift+: 进入命令模式   输入 !+命令(如 !./a.py)执行

=============
2013-08
2013年08月10 vim推出新版本7.4,上一版本7.3诞生于2010-08-16。
速度升级上去。

源码 ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2
下载后解压, 进入解压目录
make
make install

linux下的专业CAD:QCAD

QCad 是一个专业的 CAD 系统。QCad 使用户能够创建技术图纸,如计划、建筑、室内装饰、机械部件或架构和图表。它采用 DXF 文件作为其标准的文件格式。虽然其它 CAD 软件包往往是使用复杂,但 QCad 试图有所不同。

1、获取QCAD

访问http://www.qcad.org/en/qcad-downloads-trial 获得对应版本的安装文件。
//虽然软件支持各种平台,我还是推荐你使用linux,无他,爱好而已。

2、安装

windows下的我就不介绍了。
linux下 tar.gz package只要解压执行其中的qcad文件就可以了。 bin package 需要在属性里添加执行权限然后双击安装。

3、截个图吧

QCAD