数据库编程

JDBC使用方法,第一,因为是使用java环境编写,所以要使用某个数据库,首先是要加载那个数据库的驱动过来,加载的方式是使用反射的方法,第二,加载完数据库的驱动后要建立和该数据库的连接,连接方式是使用驱动管理DriverManager.getConnection(URL,账号,密码),得到连接的实例Connection实例,第三,使用连接的实例来创建描述Statement实例,用描述的方法表明要使用的操作,第四,得到返回结果ResultSet,使用方法getXXX(列号|列名)一行行的返回结果,第五,按相反的方向关闭创建的返回结果,描述,连接;java中的Properties类,用于加载配置文件,里面的内容格式为key--value;

Statement的execute(sql)是不会有返回值的,但是可以执行任何语句,得到返回值的方法是,先使用hasResultSet判断有没有结果,再用getResultSet获得返回结果,再用getMetaData()获得ResultSetMetaData的元数据,再用元数据实例得到返回结果的信息,比如getColumnCount()得到列数,以便遍历结果;

预编译描述PreparedStatement,可以带通配符?,用法和Statement相反,是在创建PS时指定固定的sql语句,然后用setXXX(索引,值)的方法和无需参数的.executeQ/U来执行,Statement的是在创建S时不用传入sql,在.executeQ/U时指定sql语句,相比而言,PS比S高效,方便和安全;

对于数据库中的过程,JDBC使用connection的prepareCall(“{call 过程名称 (?,?...)}”)来创建CallableStatement的实例,也就是过程的描述称为CallableStatement,通过CS实例.setXXX(列号,值)来设置传入的参数,对于输出参数,要先注册为输出参数,使用实例.registerOutParameter(列号,输出类型),然后用getXXX(列号)获得输出;

对于结果集ResultSet也是很灵活的,默认情况下,它是不可以修改的,不会影响数据库里的值,但是可以通过在创建Statement和PreparedStatement时指定它是否允许滚动和并行的属性,修改方式是Result的实例.updataXXX(列号,值)以及实例.updataRow()来提交更新,另外,ResultSet里有getMetaData的方法,用于返回含有结果信息的ResultSetMetaData对象,该对象有三个方法,getColumnXXX返回列数,列类型,列名;


图片和音频在数据库里是二进制储存的,称为Blob对象;

可以使用PS的setBinaryStream(列号,InputStream)来指定传入的二进制流,然后可以通过ResultSet的getBlob(列号)得到Blob对象,再用Blob的getByte或getXXputStream来获得二进制流;

在collection中,每打好一条sql都会自动提交到数据库,但是可以通过.setAutoCommit(false)来取消这个功能,然后用.commit()来提交事务,可以使用rollback()来回滚,也可以通过SetSavepoint()来设置回滚中间点;

集中处理,使用S的对象.addBatch(sql),对象.executeBatch(),执行前关闭自动提交;

DatabaseMetaData由Connection的getMetaData来获得,用于描述数据库信息的,以DMD的实例.getXXX配合ResultSet来使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值