`
jsjxqjy
  • 浏览: 118334 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java基础的学习之参数的变化使用

阅读更多
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中,到处可以看见的

分享到:
评论

相关推荐

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-115-Java基本语法-方法详解-方法的参数与返回值的应用场景.avi 北京动力节点-Java编程零基础教程-116-Java基本语法-方法详解-变量的作用域.avi 北京动力节点-Java编程零基础教程...

    java基础学习笔记

    ### Java基础学习笔记知识点详解 #### 一、Java的核心特性 Java作为一种广泛使用的编程语言,其核心特性包括简明性、面向对象、网络感知、健壮性、安全性、架构中立性、可移植性、解释性、高性能、多线程和动态性...

    毕向东java基础总结(完整版)

    本资源为毕向东老师的java基础总结,涵盖了java的基础知识点,从零开始学习java的自学笔记。本文档对java的基础知识进行了系统的总结,包括java的概述、java语法基础、变量、数据类型、运算符、控制结构、函数、数组...

    java基础程序设计

    ### Java基础程序设计知识点概述 #### 一、Java语言简介 - **历史背景**:Java最初由Sun Microsystems公司的James Gosling等人开发,最初的项目名称为“Oak”。该项目旨在为家用电子产品开发一个分布式代码系统,但...

    java基础编程.pdf

    Java基础编程是任何想要学习Java的初学者必须掌握的内容。以下是一些关于Java基础编程知识点的详细介绍。 首先,Java基础编程包括对变量、运算符、选择结构和循环结构的理解。在Java中,变量是用来存储数据的容器,...

    Java零基础学习资料

    Java零基础学习资料是一套专为初学者设计的教程,旨在帮助那些刚接触Java编程的人快速入门。这套资料源于2015年,虽然时间已过数年,但Java的基础知识变化不大,因此这些资料仍然具有很高的学习价值。以下是根据提供...

    java零基础零基础必看必看

    - **基础链接**:文档中的“Java基础必备链接”可能包含了Java基础知识的学习资料,适合初学者入门。 - **视频教程**:潭州教育提供的视频教程涵盖了从零基础到开发实际项目的全过程,对于希望通过视频学习的同学来...

    Java零基础-参数传递-1.md

    作为一门广泛使用的编程语言,Java提供了多种处理数据的方法,其中参数传递是函数(方法)间数据交互的基础。本文将重点讨论Java中方法调用时的基本类型和引用类型参数传递的区别,并通过具体的示例帮助读者更好地...

    Java基础加强Java基础加强

    Java是一种广泛使用的面向...学习和掌握这些Java基础和新特性,对于提升开发效率和编写高质量的代码至关重要。通过不断实践和深入理解,开发者能够更好地利用Java的强大功能,解决复杂问题,并适应不断变化的技术环境。

    良葛格java5.0的学习笔记

    1. **Generics(泛型)**:Java 5.0最大的变化之一就是引入了泛型,这使得在编译时就能检查类型安全,减少了强制类型转换的需要。泛型允许我们在集合类中存储特定类型的对象,提高了代码的复用性和安全性。 2. **...

    Agile Java习题2--Java基础

    【标题】"Agile Java习题2--Java基础"涵盖了Java编程语言的基础概念和实践,是学习者在Java开发旅程中的重要一步。Agile Java是一种敏捷开发方法论下的编程实践,强调快速迭代和灵活应对需求变化。在这个阶段,学习...

    尚硅谷 Java 基础实战之银行项目1

    【尚硅谷 Java 基础实战之银行项目1】是一个专为Java初学者设计的实践项目,旨在通过实际操作加深对Java基础知识的理解。项目涵盖了Java SE的核心概念,包括面向对象编程的基本特性,如封装性、构造器、继承、多态、...

    java爬虫学习文档集

    Java爬虫学习文档集主要涵盖了使用Java语言进行网络爬虫开发的相关知识,其中包括对HTTP解析库 httpparse 和 HTTP客户端库 httpClient 的学习资料。这两部分是构建Java爬虫的重要组件,下面将详细介绍这两个库以及...

    java基础 CoreJava笔记

    ### Java基础 CoreJava笔记 #### 一、面向对象编程与Java语言 面向对象编程(OOP)是一种编程范式,它将程序设计成一系列相互交互的对象。这些对象包含数据(属性)以及对该数据进行操作的方法(行为)。Java作为一...

    java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 第一章:Java语言入门 - **1.1 Java的诞生** ...以上是关于Java学习笔记的主要知识点总结,涵盖了从基础概念到高级特性的各个方面,对于初学者来说是一份非常全面的学习资料。

    Java Applet 基础

    总的来说,学习Java Applet基础涵盖了Applet的生命周期管理、图形绘制以及与HTML页面的交互,这对于理解Web应用程序的早期开发模式具有重要意义。虽然现代Web开发更多倾向于使用JavaScript和Web框架,但Java Applet...

    java笔试题 java面试题 java基础

    在准备Java面试时,深入理解和掌握Java基础至关重要。这里,我们主要探讨标题和描述中涉及的Java知识点,并结合文件名“九阴真经”和“葵花宝典”的隐喻,来扩展讲解Java的核心概念。 首先,Java的基础包括语法、...

    java基础之面向对象开发讲解,适合java初级人员入门学习

    ### Java基础之面向对象开发讲解 #### 一、面向对象概念 面向对象编程(Object-Oriented Programming, OOP)是一种程序设计范式,它强调通过“对象”来组织和构建软件系统。相比于传统的面向过程编程,面向对象编程...

Global site tag (gtag.js) - Google Analytics