…写在最后
一、概念
在java程序过程中,动态去获取类信息(所有的属性和方法),同时调用属性和设置属性值以及方法,这个在动态操作属性和方法过程叫做java的反射机制
二、使用(会有很多异常)
2.1获取类信息
自动加载类信息(静态块也进行加载),c代表类信息(属性,方法,构造方法)
普通的只是获取类信息,没有加载类(静态块等)
2.2根据类信息,可以动态创建对象
//调用无参构造方法,用的较多
Object obj = c.newInstance();//捕获异常
相当于
调用有参构造(不兼容包装类Integer等)
2.3 获取里面的所有属性信息
根据属性名获取字段信息(抛异常),返回一个field(字段),私有也可以获取
忽视private的检测
方法里执行set也可以忽略private的检测
有返回值用result来接收,无返回值为null
获取所有字段信息,返回一个字段集合(field[])
反编译?
2.4 获取类下面的方法
需要抛异常,参数为方法名,方法参数的类类型来进行对具体方法的匹配
2.5重写basedao
1.通过字段
2.通过方法invoke
getColumnName取的是列名,不取别名
要换一下方法getColumnLable,取的是别名,实际情况用lable方法
三、多表查询的dao
外键所在类设置一个属性为:主键类的对象
多表映射只能自己写
怎么体现外键的关系?在department里新建的company的作用?
四、JDBC事务的执行
五、调用JDBC的存储过程
CallAbleStatement