搜索到关键字为 唧唧 的相关日志 90 篇: ("[空格]和"+"[加号] 可作搜索分隔符号使用.)

使用jQuery和HTML5 扫描条形码输入 suny

由于工作需要,今天探索了一下在手机端web调用摄像头扫描的方式,实现了条形码的输入。

本次采用的是:quaggaJS 插件:

官网地址:https://serratus.github.io/quaggaJS/

...

CentOS 安装 SVN 服务器 suny

1、安装SVN服务端:
[root@localhost ~]# yum install subversion

2、判断SVN是否安装成功:
[root@localhost ~]# svnserve --version
svnserve, version 1.6.11 (r934486)
...

3、创建SVN库目录
[root@localhost /]# mkdir /opt/svn/repos -p
...

CentOS 防火墙 开放80端口 suny

开放端口:
[root@WX32 ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

保存配置:
[root@WX32 ~]# service iptables save
Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]

重启防火墙:
[root@WX32 ~]# service iptables restart
Flushing firewall rules:                                   [  OK  ]
...

CentOS 删除自带的OpenJDK 和 安装SunJDK suny

卸载OpenJDK:
[root@WX32 local]# java -version
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

[root@WX32 local]# rpm -qa | grep java
java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
...

JMF 播放MP3文件以及获取音轨长度 suny

JMF核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。详细介绍

   java代码
  1. import java.io.File;  
  2. import java.text.SimpleDateFormat;  
  3. import java.util.Calendar;  
  4.  
  5. import javax.media.Format;  
  6. import javax.media.Manager;  
  7. import javax.media.Player;  
  8. import javax.media.PlugInManager;  
  9. import javax.media.format.AudioFormat;  
  10.  
  11. public class MyTest {  
  12.  
  13.     /**  
  14.      * @param args  
  15.      * @throws Exception  
  16.      */ 
  17.     public static void main(String[] args) throws Exception {  
  18.         MyTest.Play("D:\\test.mp3");  
  19.     }  
  20.  
  21.     // 播放音频文件  
  22.     public static void Play(String fileurl) {  
  23.         try {  
  24.             Format inMp3 = new AudioFormat(AudioFormat.MPEGLAYER3);  
  25.             Format outLinear = new AudioFormat(AudioFormat.LINEAR);  
  26.  
  27.             PlugInManager.addPlugIn(  
  28.                     "com.sun.media.codec.audio.mp3.JavaDecoder",  
  29.                     new Format[] { inMp3 }, new Format[] { outLinear },  
  30.                     PlugInManager.CODEC);  
  31.  
  32.             File file = new File(fileurl);  
  33.             Player player = Manager.createPlayer(file.toURI().toURL());  
  34.             player.start();  
  35.             Thread.sleep(500);  
  36.  
  37.             double seconds = player.getDuration().getSeconds();  
  38.             System.out.println("MediaTime:" + seconds);  
  39.             System.out.println("MediaTime:" + getTime(seconds));  
  40.         } catch (Exception e) {  
  41.             e.printStackTrace();  
  42.         }  
  43.     }  
  44.  
  45.     public static String getTime(double time) {  
  46.         int millis = Integer.parseInt(String.valueOf(Math.round(time)));  
  47.         Calendar cal = Calendar.getInstance();  
  48.         cal.set(00000, millis);  
  49.  
  50.         SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");  
  51.         return sdf.format(cal.getTime());  
  52.     }  
  53.  

不受支持的 SQL 类型 1111 rainy

Sybase 的官方驱动 jConnect4 (链接字符串:jdbc:sybase:Tds:127.0.0.1:5000/xxx) 结合myBatis使用时,发现如下问题,当insert或者update语句的变量含有null值,会报错:

 ### Cause: java.sql.SQLException: JZ006: 捕获到 IO 例外:java.io.IOException: JZ0SL: 不受支持的 SQL 类型 1111。

Cause: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported SQL type 1111.

由于参数出现了null值,myBatis进行操作的时候,指定jdbcType类型的参数时,mybatis默认设置为jdbcType.OTHER,导致Sybase数据库无法识别此格式。

解决方法:给参数加上jdbcType可解决(注意大小写) 。

比如:
insert into xxx(a,b) values(#{a,jdbcType=VARCHAR}, #{b,jdbcType=DATE})
update xxx set a=#{a,jdbcType=VARCHAR} where id=#{id}

目前jdbcType含有以下类型:

ARRAY(Types.ARRAY),
BIT(Types.BIT),
...

Bootstrap CSS/HTML框架 suny

关于:Bootstrap

Sleek, intuitive, and powerful front-end framework for faster and easier web development.
简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。

Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。

官方地址:http://twitter.github.com/bootstrap/index.html

中文站:http://www.bootcss.com

Spring 打包成jar 在Linux下运行的问题 suny

在本地Eclipse开发和调试是没问题的,打包成jar放到Linux下无法启动,报错:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mainThead' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
...

myBatis 存储过程返回值的问题 cloud

今天在调试myBatis调用Sybase数据库的存储过程的时候,出现了如下错误:

org.apache.ibatis.binding.BindingException: Mapper method 'getNextKey' (interface com.xxxxxxx.PackHandleMapper) attempted to return null from a method with a primitive return type (long).
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:37)
at $Proxy17.getNextKey(Unknown Source)
....

报错信息言下之意是返回值为空,可是我的存储过程明明是返回了一个记录集,存储过程如下:

   sql代码
  1. CREATE PROCEDURE prc_seq(@seq_name varchar(20)) 
  2. AS 
  3. BEGIN
  4.     UPDATE seq SET val=val+1 WHERE [name]=@seq_name 
  5.     SELECT val from seq WHERE [name]=@seq_name 
  6. END 
  7. GO 

而且在数据库终端,可以成功执行和返回数据:
exec prc_seq 'xxx'

--------------------------------------------------------------------------------------------------------

经过排查得知,故障是由于update语句引起的,执行上面的语句,会产生两条执行记录,myBatis获取了update语句的执行情况:

1 record(s) affected
1 record(s) selected  [Fetch MetaData: 0/ms]  [Fetch Data: 0/ms] 

解决方法,去掉update语句的执行情况返回,即增加语句:SET NOCOUNT ON

   sql代码
  1. CREATE PROCEDURE prc_seq(@seq_name varchar(20)) 
  2. AS 
  3. BEGIN 
  4.     SET NOCOUNT ON 
  5.     UPDATE seq SET val=val+1 WHERE [name]=@seq_name 
  6.     SELECT val from seq WHERE [name]=@seq_name 
  7. END 
  8. GO 

...

DB2 SEQUENCE 序列的问题 suny

1、创建索引的时候,最好不要加双引号,比如:

db2 ==> CREATE SEQUENCE "seq_test" ...

应该改为:

db2 ==> CREATE SEQUENCE seq_test ...

加了双引号,表示大小写敏感,如果你使用以下语句去查找序列的话,则会报错:

db2 ==> select (nextval for seq_test) from sysibm.sysdummy1;

SQL0204N  "XXX.SEQ_TEST" is an undefined name.  SQLSTATE=42704

2、select nextval for seq_test from sysibm.syssequences 会列出CACHE缓存中的所有值,获取一个值应该使用:

select (nextval for seq_test) from sysibm.sysdummy1;

或者

select (next value for seq_test) from sysibm.sysdummy1;

3、序列设置开始值

 DB2:ALTER SEQUENCE 序列名  RESTART WITH 下一值

...


Total:901234567899 Pages