public class 集合的实例化 {
//map的实例化
private static final HashMap<String,String> map = new HashMap<String,String>(){
{
put("one", "myGog");
put("one1", "myGog");
put("one2", "myGog");
put("one3", "myGog");
}
};
//java之多个参数的写法 ,其实就是数组的变形
public void praseArgs(Object ... objects ){
//参看java.lang.reflect.Method
//java.lang.reflect.Constructor
//这2个类的一些方法就可以看出来
process(objects);
}
private void process(Object[] obj){
}
public static void main(String[] args) {
System.out.println(map.get("one"));
}
}
一个是java中map的内部类实例化方式,一个是数组变化形式的写法。无聊中!!
参数类型的判断
//有时候对预处理语句的参数的处理,我们可能需要判断参数的类型
private void processArgsData(PreparedStatement prepStmt, Object[] args) throws SQLException {
if (prepStmt == null || args == null || args.length == 0) {
return;
}
Object obj = null;
int parameterIndex = 0;
for (int i = 0; i < args.length; i++) {
obj = args[i];
parameterIndex = i + 1;
if (obj instanceof String) {
//字符串类型处理
prepStmt.setString(parameterIndex, obj.toString());
} else if (obj instanceof Integer) {
prepStmt.setInt(parameterIndex, 整型处理(obj));
} else if (obj instanceof Long) {
prepStmt.setLong(parameterIndex, 长整型处理(obj));
} else {
//Object类型处理
prepStmt.setObject(parameterIndex, obj);
}
}
}
下面模拟spring中 JDBC或者 Hibernate处理查询的方式
:
/**
*
* @param sql 预处理sql
* @param args 参数,用于预处理用
* @param rch RowCallbackHandler 用户实现的接口
* @throws BaseException
*/
public final void query (String sql, Object[] args, RowCallbackHandler rch) throws BaseException {
PreparedStatement pst = null;
ResultSet rs = null;
try {
//根据sql得到预处理语句
pst = this.prepareStatement(sql);
//处理参数
this.processArgsData(pst, args);
rs = pst.executeQuery();
while (rs.next()) {
//用户调用自己实现处理结果集的方法 processRow
rch.processRow(rs);
}
} catch (Exception e) {
this.closeResultSet(rs);
this.closePreStatement(pst);
}
}
我们怎么调用呢?
this.query(sql.toString(), null, new RowCallbackHandler() {
public void processRow (ResultSet rs) throws SQLException {
/ /对查询出来的结果集进行处理
}
});
其中RowCallbackHandler是个接口:我们可以自己定义的,其实这个就是匿名内部类的使用,在spring中,到处可以看见的
分享到:
相关推荐
北京动力节点-Java编程零基础教程-115-Java基本语法-方法详解-方法的参数与返回值的应用场景.avi 北京动力节点-Java编程零基础教程-116-Java基本语法-方法详解-变量的作用域.avi 北京动力节点-Java编程零基础教程...
### Java基础学习笔记知识点详解 #### 一、Java的核心特性 Java作为一种广泛使用的编程语言,其核心特性包括简明性、面向对象、网络感知、健壮性、安全性、架构中立性、可移植性、解释性、高性能、多线程和动态性...
本资源为毕向东老师的java基础总结,涵盖了java的基础知识点,从零开始学习java的自学笔记。本文档对java的基础知识进行了系统的总结,包括java的概述、java语法基础、变量、数据类型、运算符、控制结构、函数、数组...
### Java基础程序设计知识点概述 #### 一、Java语言简介 - **历史背景**:Java最初由Sun Microsystems公司的James Gosling等人开发,最初的项目名称为“Oak”。该项目旨在为家用电子产品开发一个分布式代码系统,但...
Java基础编程是任何想要学习Java的初学者必须掌握的内容。以下是一些关于Java基础编程知识点的详细介绍。 首先,Java基础编程包括对变量、运算符、选择结构和循环结构的理解。在Java中,变量是用来存储数据的容器,...
Java零基础学习资料是一套专为初学者设计的教程,旨在帮助那些刚接触Java编程的人快速入门。这套资料源于2015年,虽然时间已过数年,但Java的基础知识变化不大,因此这些资料仍然具有很高的学习价值。以下是根据提供...
- **基础链接**:文档中的“Java基础必备链接”可能包含了Java基础知识的学习资料,适合初学者入门。 - **视频教程**:潭州教育提供的视频教程涵盖了从零基础到开发实际项目的全过程,对于希望通过视频学习的同学来...
作为一门广泛使用的编程语言,Java提供了多种处理数据的方法,其中参数传递是函数(方法)间数据交互的基础。本文将重点讨论Java中方法调用时的基本类型和引用类型参数传递的区别,并通过具体的示例帮助读者更好地...
Java是一种广泛使用的面向...学习和掌握这些Java基础和新特性,对于提升开发效率和编写高质量的代码至关重要。通过不断实践和深入理解,开发者能够更好地利用Java的强大功能,解决复杂问题,并适应不断变化的技术环境。
1. **Generics(泛型)**:Java 5.0最大的变化之一就是引入了泛型,这使得在编译时就能检查类型安全,减少了强制类型转换的需要。泛型允许我们在集合类中存储特定类型的对象,提高了代码的复用性和安全性。 2. **...
【标题】"Agile Java习题2--Java基础"涵盖了Java编程语言的基础概念和实践,是学习者在Java开发旅程中的重要一步。Agile Java是一种敏捷开发方法论下的编程实践,强调快速迭代和灵活应对需求变化。在这个阶段,学习...
【尚硅谷 Java 基础实战之银行项目1】是一个专为Java初学者设计的实践项目,旨在通过实际操作加深对Java基础知识的理解。项目涵盖了Java SE的核心概念,包括面向对象编程的基本特性,如封装性、构造器、继承、多态、...
Java爬虫学习文档集主要涵盖了使用Java语言进行网络爬虫开发的相关知识,其中包括对HTTP解析库 httpparse 和 HTTP客户端库 httpClient 的学习资料。这两部分是构建Java爬虫的重要组件,下面将详细介绍这两个库以及...
### Java基础 CoreJava笔记 #### 一、面向对象编程与Java语言 面向对象编程(OOP)是一种编程范式,它将程序设计成一系列相互交互的对象。这些对象包含数据(属性)以及对该数据进行操作的方法(行为)。Java作为一...
### Java学习笔记知识点总结 #### 第一章:Java语言入门 - **1.1 Java的诞生** ...以上是关于Java学习笔记的主要知识点总结,涵盖了从基础概念到高级特性的各个方面,对于初学者来说是一份非常全面的学习资料。
总的来说,学习Java Applet基础涵盖了Applet的生命周期管理、图形绘制以及与HTML页面的交互,这对于理解Web应用程序的早期开发模式具有重要意义。虽然现代Web开发更多倾向于使用JavaScript和Web框架,但Java Applet...
在准备Java面试时,深入理解和掌握Java基础至关重要。这里,我们主要探讨标题和描述中涉及的Java知识点,并结合文件名“九阴真经”和“葵花宝典”的隐喻,来扩展讲解Java的核心概念。 首先,Java的基础包括语法、...
### Java基础之面向对象开发讲解 #### 一、面向对象概念 面向对象编程(Object-Oriented Programming, OOP)是一种程序设计范式,它强调通过“对象”来组织和构建软件系统。相比于传统的面向过程编程,面向对象编程...