Hibernate出现“Error parsing JNDI name []”错误解决方法

使用Eclipse编写Hibernate写入数据库的代码,运行能通过,但是有警告:

WARN: HHH000277: Could not bind factory to JNDI
org.hibernate.engine.jndi.JndiException: Error parsing JNDI name []

这是什么原因呢,搜之得到,原来是Eclipse自动生成.cfg.xml文件时,在标签中加入name=””导致的,因此更改如下:

<hibernate-configuration>
 <session-factory>

即去掉name=””,这个貌似是和JNDI有关,还没有这么深入研究,我也说不出所以然啦,这里就这么处理吧。

对了,如果Eclipse打开.xml文档不是显示的代码,而是一些选项框的话,那么在编辑框的下方找到“Source”按钮就可以调回代码模式了。

Java自学之路:Hibernate5.0初始化配置

开始学习Hibernate了,教程是慕课网上找的,结果跟着慕课网上的教程一步一步的折腾了半天,居然发现无法配置Hibernate,具体细节就不说了,直接说原因。

因为慕课网当时做的视频使用的是Hibernate4.2.4(就是4.0),而我现在下的Hibernate最新版是5.0.2(就是5.0),这两个版本的配置方法不一样……

我去啊……这纯粹就是给初学者那本来就脆弱的小心脏猛烈的打击啊!!!经过Derek大神的指点,还是乖乖的看Guide吧,应该有例子……嘿,果不其然,真让我在茫茫的英文字母中找到了案例,直接抄过来就好了。 继续阅读

配置Spring出现“java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory”异常解决方法

配置Spring后,运行Spring程序出现了“Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory”异常,是因为没有将logging.jar引入,因此这里下载logging.jar并引入就解决了。

Java自学之路:Spring在Eclipse中配置

Spring的学习其实早就开始了,但是算是人浮于事,看看教程算是预习,到今天材终于动手操作。对于初学者来说,Spring就是“他们都说:好~~~”……换人话,对于新手来说Spring就是不知所云。所以今天呢,我也算是依葫芦画瓢,很多代码不去深究,先把Spring成功配置到eclipse中再说!

下面来说说我的配置方法: 继续阅读

Java自学之路:日期和时间处理(2) 之 格式转换

上一篇《Java自学之路:日期和时间处理(1) 之 数据库的日期和时间处理》说了数据库里的日期时间格式处理,下面再来说说日期格式的转换吧。

首先我们有了一个时间对象,假设是:

java.util.Date d = new Date();

如果我们直接使用 toString方法并打印出来:

System.out.println(d.toString());

一般会是如下格式输出:

Wed Jul 29 13:21:10 CST 2015

那么,我们想要输出为自定义的格式怎么办呢?如“2015年7月29日 13时21分10秒”或“07.29.2015 13.21.10”。 继续阅读

Java自学之路:日期和时间处理(1) 之 MySQL数据库的日期和时间处理

假设MySQL数据库里面有一个字段叫“date”,存放了日期(年月日)和时间(时分秒)的日期类型,如“2015-07-18 14:03:34”。

那么我们怎么取出来呢?如果你还在用 rs.getDate(column) 那么就继续看看吧!

假设我们已经做好了数据库连接[数据库连接教程见这里],并获得了 ResultSet rs,那么使用如下代码就可以获得date数据了:

import java.sql.Timestamp;
Timestamp ts = rs.getTimestamp("date");
System.out.println(ts.toString());
// 结果是:2015-07-18 14:03:34.0

这样“date”中的数据就被保存在了 ts 中,格式为“yyyy-MM-dd HH:mm:ss.S”(字母意义参见下表,详见API文档 java.text.SimpleDateFormat),文章开始假设的时间显示就是“2015-07-18 14:03:34.0”。 继续阅读

Java自学之路:连接MySQL数据库

当然,是在eclipse中使用~

1、eclipse引入JDBC jar包:mysql-connector-java-x.jar,eclipse的方法如下:
loadExternalArchive
2、引入驱动
Class.forName("com.mysql.jdbc.Driver");
     建立链接()
Connection conn = DiverManager.getConnection(
                 "jdbc:mysql://localhost/database",
                 "root",
                 "root");

上面代码.getConnection()里面有三个参数:数据库URL/数据库名称(”jdbc:mysql://localhost/database”),数据库用户名(”root”),数据库用户密码(”root”),可以先设置成private static final String,然后再调用,方便以后代码的维护。

继续阅读

Java自学之路:数据类型

4类8种:

1、布尔型(boolean)
2、字符型(char)
3、整数型(byte,short,int,long)
4、浮点型(float,double)

类型                 字节空间                  表示范围                      备注
boolean           1字节(8位)           false, true
char                 2字节(16位)        -2e15~2e15-1              u0034
byte                 1字节(8位)          -2e7~2e7-1
short               2字节(16位)        -2e15~2e15-1
int                    4字节(32位)        -2e31~2e31-1
long                 8字节(64位)        -2e63~2e63-1
float                 4字节(32位)        -2e31~2e31-1              精度7位   314 = 3.14e2
double             8字节(64位)        -2e63~2e63-1              精度15位

继续阅读

Java自动装箱陷阱

近日在《深入理解Java虚拟机-JVM高级特性与最佳实践》(周志明著)看到一段Java语法糖中关于自动装箱的代码,这段代码原书作者没有给出分析,我慧眼一瞧,就吓尿了,从来没有这么用过。因为我知道我不知道这样用会产生什么样的我完全不知道的结果,而经过我的实践分析后,我终于知道了这个我之前不知道,现在遇到了又想知道的不知道的问题~~~先看下代码是啥样的。
继续阅读

【译】使用NDK插件

使用NDK插件,2012年7月2日7:16由Siva Velusamy发布

ADT 20包含了一个NDK插件,这个插件提供在Eclipse里build和debug NDK工程的支持。这篇文档将会描述如何安装和使用NDK插件。

安装方法
NDK插件当前只在CDT 7.0.2或者8.0.2版本下工作。
1. 下载Eclipse for Java;
2. 从Eclipse升级站点(http://download.eclipse.org/tools/cdt/releases/indigo)安装CDT;
3. 从Eclipse升级站点(https://dl-ssl.google.com/android/eclipse/)安装Android SDK和NDK插件

继续阅读

转~java中的sizeof

在C/C++中,当我们想知道一个对象或者一个原始数据类型所占用的内存大小时,只需简单调用sizeof操作符即可,但是,在java中是没有相应的操作符或者方法来直接完成相应功能的。sizeof在C/C++得到大量的运用,是程序员必不可少的工具之一,那么为什么java却不提供呢?要回答这个问题,我们可以从另外一个角度来看,那就是为什么C/C++中要使用sizeof。 继续阅读

Android线程间交互(Java synchronized & Android Handler)

线程间交互(ITC,InterThread Communication)是多线程编程中一个很重要的内容。ITC涉及的问题有2个方面,其一是线程之间的同步互斥(Synchronization & Mutex),其二是线程之间数据内容的共享交换(Share & Exchange)。Android系统处理线程的同步互斥是使用Java提供的一套完整的同步互斥方法,使用synchronized关键字和一些方法实现;而Android系统提供的消息处理机制(android.os.Handler)可以很好的解决线程数据共享交换的问题,关于android.os.Handler的基本用法详见《Android中的Thread & HandlerThread & Handler》
继续阅读