Java 封装del 封装反射操作
来源:互联网 发布:游戏开发java命令 编辑:程序博客网 时间:2024/06/06 09:25
-----------反射操作封装--------------package fozzz;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;/*** * in:对象实例 * out:对象变量个数,对象get方法值,对象变量,对象名 * @author fozzz * */public class MyReflect { private Class<? extends Object> myClass; private Object object; private int length; private Object[] resultArray; private String[] memberArray; private String className; /** * * @param object * @throws IllegalAccessException * @throws IllegalArgumentException * @throws InvocationTargetException * @throws NoSuchMethodException * @throws SecurityException */ public MyReflect(Object object) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { this.myClass = object.getClass(); this.object = object; Field[] declaredFields = myClass.getDeclaredFields(); this.length = declaredFields.length; this.memberArray = new String[length]; this.resultArray = new Object[length]; for (int i = 0; i < length; i++) { String name = declaredFields[i].getName(); memberArray[i] = name; // 得到get方法的结果 resultArray[i] = myClass.getMethod("get" + (char) (name.charAt(0) - 32) + name.substring(1)).invoke(object); } String[] split = myClass.getName().split("\\."); this.className = split[split.length - 1]; } /** * * @return 对象变量个数 */ public int getLength() { return length; } /** * * @return 对象get方法值 */ public Object[] getResultArray() { return resultArray; } /** * * @return 对象名 */ public String getClassName() { return className; } /** * * @return 对象变量 */ public String[] getMemberArray() { return memberArray; }}
----------通过上面的类,得到拼装的sql-----------package fozzz;import java.lang.reflect.InvocationTargetException;public class MyDel { private String className; private String[] memberArray; private Object[] resultArray; public Object[] getResultArray() { return resultArray; } public MyDel(Object object) { // TODO Auto-generated constructor stub try { MyReflect myReflect = new MyReflect(object); this.className = myReflect.getClassName(); this.memberArray = myReflect.getMemberArray(); this.resultArray = myReflect.getResultArray(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public String getSql() { // TODO Auto-generated method stub String sql = "delete from " + className + " where " + memberArray[0] + "=?"; return sql; }}
-----------连接数据库部分-------------package fozzz;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class Del { private boolean ok = false; public Del(Object object) { MyDel myDel = new MyDel(object); Connection connection = new MyConnection().getConnection(); String sql = myDel.getSql(); Object[] resultArray = myDel.getResultArray(); try { PreparedStatement prepareStatement = connection.prepareStatement(sql); prepareStatement.setObject(1, resultArray[0]); int executeUpdate = prepareStatement.executeUpdate(); if (executeUpdate > 0) { ok = true; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public boolean isOk() { // TODO Auto-generated method stub return ok; }}
0 0
- Java 封装del 封装反射操作
- 利用java反射机制简化数据封装操作
- JAVA:数据库操作封装
- JAVA:数据库操作封装
- java封装文件操作
- 封装JAVA数据库操作
- JAVA:数据库操作封装
- Java 字符串操作封装
- 封装JAVA数据库操作
- 封装JAVA数据库操作
- 封装JAVA数据库操作
- Java 字符串操作封装
- 利用反射封装数据查询操作
- 利用Java反射快速封装JavaBean属性
- java/反射类,封装类,集合类
- java 反射机制应用的封装
- Java-MVC-内省反射2-封装MyBeanUtils
- Java 操作文本 封装类
- javaWeb用户权限控制简单实现
- RadioGroup和RadioButton
- 抽象类基本语法
- Object类实现的方法
- 如何自学成为“数据挖掘”的高手
- Java 封装del 封装反射操作
- 在ubuntu部署hadoop之全分布模式
- JVM回收方法区
- JAVASE总结--时间类
- 文章标题
- 进程间通信之命名管道
- 为基本组件添加权限检查,如Activity
- windows下强制杀死tomcat进程
- 细说JVM系列:分代收集算法补遗