java

MyBatis之传入参数——parameterType

12-30
在MyBatis的select.insert.update.delete这些元素中都提到了parameterType这个属性.MyBatis现在可以使用的parameterType有基本数据类型和JAVA复杂数据类型 基本数据类型:包含int,String,Date等.基本数据类型作为传参,只能传入一个.通过#{参数名} 即可获取传入的值 复杂数据类型:包含JAVA实体类.Map.通过#{属性名}或#{map的KeyName}即可获取传入的值 基本数据类型参数示例: 根据班级ID查询教师列表 x

idea 创建的maven+spring+mybatis项目整合 报错无法创建bean

12-30
最近在做一个由maven构建的spring+spring mvc+mybatis项目,刚开始的时候是用自己的电脑Win10环境下的eclipse写的,托管到了码svn上面,刚开始什么问题都没有 同学用的是win10+idea,结果问题就来了,下载下来的代码居然不能运行!!!,各种看着一脸懵逼的报错信息(idea的tomcat运行日志文件很不好找,找了好久)辛辛苦苦弄了一周左右,期间经历了把项目删了又建,然后自己搭环境等各种坑爹的环节,一开始报错信息千奇百怪,在弄了这么久之后大概就稳定成了如下的样

MyBatis Generator自动创建代码

12-30
        这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件.这样可以省去很多的功夫,将生成的代码copy到项目工程中即可.            使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可

【Mysql】—— 报错:Can't call commit when autocommit=true

12-05
java.sql.SQLException: Can't call commit when autocommit=true at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:934) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:931) at com.mysql.jdbc.ConnectionImpl.commit(ConnectionImpl.jav

java.lang.ClassNotFoundException与java.lang.NoClassDefFoundError的区别

12-05
以前一直没有注意过这个问题,前两天机缘巧合上网查了一下,然后自己测试验证了一下.虽然网上说法很多,但是关于NoClassDefFoundError并没有给出一个样例,所以一直无法理解,索性自己验证了一下,收获还不少. ClassNotFoundException ClassNotFoundException这个错误,比较常见也好理解. 原因:就是找不到指定的class. 常见的场景就是: 1 调用class的forName方法时,找不到指定的类 2 ClassLoader 中的 findSyst

【Spring实战】—— 7 复杂集合类型的注入

12-05
之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List.Set.Map等. 对于程序员来说,掌握多种语言是基本的技能. 我们这里做了一个小例子,程序员们是一个Bean实例,而掌握的编程语言则是放入一个集合类型中进行注入. 简单的来说: List是一种按照序号标识的集合, Set与List相似但是元素不允许重复, Map则是一种自定的键值对,键值都可以是任意的类型. Bean的实现类 public class Programmer { public

Spring aop报错:com.sun.proxy.$Proxyxxx cannot be cast to yyy

12-05
在使用Spring AOP时,遇到如下的错误: Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to com.spring.test.setter.Instrumentalistat com.spring.test.setter.test.main(test.java:12) 看报错信息,显示的是动态代理生成的类无法转换到我们自定义的实现类. 解决

【Spring实战】—— 12 AspectJ报错:error at ::0 can't find referenced pointcut XXX

12-05
今天在使用AspectJ进行注解切面时,遇到了一个错误. 切点表达式就是无法识别--详细报错信息如下: Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xingoo' defined in class path resource [bean.xml]: Initialization of bean fail

JSP中文乱码问题

12-05
之前总是碰到JSP页面乱码的问题,每次都是现在网上搜,然后胡乱改,改完也不明白原因. 这次正好作下总结,中文乱码就是因为编码不符,可能出现乱码有四个地方: 1 JSP编码乱码 2 HTML编码乱码 3 request获取数据乱码 4 response输出信息乱码 5 Cookie导致的编码问题 下面将会对上面几种情况进行介绍: JSP乱码 这种是最常见的,设置编码的位置位于JSP的第一行,如果在Eclipse中新建一个JSP默认是下面这种: <%@ page language="java&

Log4j官方文档翻译(四、如何在java中输出日志消息)

12-05
我们已经创建来配置文件,本章详细的介绍下如何生成调试信息,并把他们转化成文本文件. 基本的例子 下面就是创建的一个基本的例子: log4j.properties的内容为: log = /usr/home/log4j log4j.rootLogger = DEBUG, FILE log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out log4j.appender.FILE.l

Java堆外内存之突破JVM枷锁

12-05
对于有Java开发经验的朋友都知道,Java中不需要手动的申请和释放内存,JVM会自动进行垃圾回收:而使用的内存是由JVM控制的. 那么,什么时机会进行垃圾回收,如何避免过度频繁的垃圾回收?如果JVM给的内存不够用,怎么办? 此时,堆外内存登场!利用堆外内存,不仅可以随意操控内存,还能提高网络交互的速度. 背景1:JVM内存的分配 对于JVM的内存规则,应该是老生常谈的东西了,这里我就简单的说下: 新生代:一般来说新创建的对象都分配在这里. 年老代:经过几次垃圾回收,新生代的对象就会放在年老代里

Java直接内存与非直接内存性能测试

12-05
什么是直接内存与非直接内存 根据官方文档的描述: A byte buffer is either direct or non-direct. Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attempt to avoid copying the buffe

Java直接(堆外)内存使用详解

12-05
本篇主要讲解如何使用直接内存(堆外内存),并按照下面的步骤进行说明: 相关背景-->读写操作-->关键属性-->读写实践-->扩展-->参考说明 希望对想使用直接内存的朋友,提供点快捷的参考. 数据类型 下面这些,都是在使用DirectBuffer中必备的一些常识,暂作了解吧!如果想要深入理解,可以看看下面参考的那些博客. 基本类型长度 在Java中有很多的基本类型,比如: byte,一个字节是8位bit,也就是1B short,16位bit,也就是2B int,32位bit

Java程序员的日常 —— 多进程开发IO阻塞问题

12-05
本篇仍旧是源于最近的工作,总结一下纪念那些年埋下的坑... 背景故事 需求:"使用进程方式启动另一个程序!" 开发:"OK! Runtime.getRuntime().exec("xxxx")" 需求:"启动以后能看到输出消息不!" 开发:"OK!" Process process = null; try { process = Runtime.getRuntime().exec("ipconfi

Java程序员的日常 —— 响应式导航Demo

12-05
这两天想要做响应式的页面,于是本着重复造轮子的想法,模仿Bootstrap官网,精简了一个响应式导航的Demo. 效果 代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="http://cdn.bootcss.com/boots

Android中Java和JavaScript交互实例

12-05
Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如何实现 实现Java和js交互十分便捷.通常只需要以下几步. 1.WebView开启JavaScript脚本执行 2.WebView设置供JavaScript调用的交互接口. 3.客户端和网页端编写调用对方的代码. 本例代码 为了便于讲解,先贴出全部代码 Java代码 复制代码 代码如下: pack

Java4Android开发教程(三)java基本概念

12-05
什么是环境变量? 环境变量通常是指在操作系统当中,用来指定操作系统运行时需要的一些参数.通常为一系列的键值对. path环境变量的作用 path环境变量是操作系统外部命令搜索路径 什么是外部命令搜索路径?举个例子,如在cmd下执行ipconfig命令,显示当前计算机网卡的配置.当输入ipconfig后,操作系统会执行ipconfig.exe(C:\Windows\System32),即当输入xxx命令时,系统会执行对应的exe,在path的变量值中依次寻找exe的存放路径,找不到则提示错误. c

java实现静默安装apk

12-05
静默安装就是偷偷的把一个应用安装到手机上,就是屏蔽确认框,通过反射 只能写个主要的代码,这个是在linux编译用到,因为静默安装需要调用系统服务,在源码下编译,我也是搞了好久 InstallActivity.java package com.smart.Installback; import java.io.File; //import com.android.packageinstaller.R; import android.app.Activity; import android.os.B

android webview中使用Java调用JavaScript方法并获取返回值

12-05
在android平板上用webview打开一个网页,调用里面的javascript方法,同时相互传参. 网上例子很少啊,基本都不能获取返回值,贴一个自己最后调试完的代码如下: Java: 复制代码 代码如下: protected void onCreate(Bundle savedInstanceState) { ........ x = (WebView)this.findViewById(R.id.webView_viewTable); x.setScrollBarStyle(View.SC

甲骨文将推出Java EE 7版本扩展对HTML 5的支持

12-18
甲骨文全球大会,2012 年 10 月 2 日--在2012 JavaOne大会上,甲骨文展示了 Java平台企业版 (Java Platform, Enterprise http://www.aliyun.com/zixun/aggregation/29806.html">Edition,Java EE) 的最新开发进展,并针对即将推出的Java EE 7 版本进行了讨论. 越来越多的开发者采用Java EE,而且超过5000万用户下载了Java EE组件,从而使其成为最受开发人员欢迎的