InvocationHandler代理实现接口
反射与代理设计模式:
新的代理设计模式不在与工厂模式相关:
java.lang.reflect.Proxy类中有一个动态实例化新的代理对象的操作方法:
public static Objecy newProxyInstance(ClassLoader,Class<?>[]interfaces,InvocationHandler h)
ClassLocader:类加载器,确定代理对象的产生使用的类加载器是什么;
Class<?>[]interfaces: 药代理类所实现的接口;
invocationHandler h:实现了代理调用的处理;
除了Proxy类之外,还要实现一个InvocationHandler接口:
public interface invocationhandler{
public Object invoke(Objecy proxy,Method mrthod,Object[] args)throws Throwable;
}
JDBC:
数据库的链接:
public static final String DRIVER = "oracle.jdbc.driver,OracleDriver";
public static final String DBURL = "jdbc:oracle:thin:@localhost:1521:ORCL";
public static final String DBUSER = "scott";
public static final String PASSWORD = "123456";
main(){
向容器中加载数据库驱动程序;
Class.forName(DBDRIVER);
取得数据库连接对象,每使用一个getConnection()都表示新连接
Connection con = DriverManager.getConnection(DBURL,DBUSER,PASSWORD);
}
JDBC中的数据库连接对象取得依靠的是工厂设计模式;
对数据库的操作:
在Connection接口里有个方法可以取得Statement接口对象;
创建Statement接口:public Statement createStatement() throws SQLException
创建接口对象之后看就可以通过方法进行对数据库的操作:
数据库的更新处理:public int executeUpdate(String sql) throws SQLException
对数据库进行操作以后可以通过方法进行输出:
数据库的查询处理:public ResultSet executeQuery(String sql)throws SQLException
ResultSet接口中相关的处理方法:
移动并判断是否有数据:public boolean next() throws SQLException
取出数据:public 数据类型getXXX();
数据库脚本:
drop table member;
drop sequence myseq;
create sequence myseq;
create table member(
mid number,
name varchar2(50),
age number(3),
birthday DATE,
salary number(8,2),
note CLOB,
constraint pk_mid primary key(mid)
);
使用PreparedStatement进行更新处理:
依靠Connection接口完成PreparedStatement接口的实例化对象;
取得PreparedStement接口对象:public PreparedStatement prepareStatement(String sql)
取得PreparedStatement接口对象之后对数据进行处理:
更新处理:public int executeUpdate()
查询处理:public ResultSet executeQuery()
所有的占位符使用"?"描述,而随后可以使用一系列的setXxx(int 索引,内容) 的方式进行设置;
PreparedSatement接口对象设置时间日期数据时:
java.sql.Date:只保存日期数据;
java.sqlTime只保存时间数据;
java.sql.Timestamp保存日期时间数据:
批处理:
Statement接口的批处理支持:
追加批处理语句:public void addBatch(String sql)
批量执行SQL:public int[] executeBatch()
PreparedStatement接口的批处理支持:
追加批处理操作:public void addBatch()
JAVA基础笔记(十六)JDBC
最新推荐文章于 2021-03-18 14:31:56 发布