您的位置:首页 > 编程语言 > Java开发

java数据调用及调用数据库

2013-08-05 10:18 162 查看
说到java操作oracle,就不得不说JDBC,JDBC其实是java数据库连接的意思,他是一套接口,定义了访问数据库的接口,通过JDBC我们可以实现操作oracle等数据库,事实上,只要涉及到数据库操作的必定会用到JDBC(C语言的数据接口是ODBC)。JDBC有两个很重要的包java.sql以及javax.sql,学习操作数据库时应多注意这两个包。下面说一下实际的操作过程。关键点在于驱动程序与加载驱动。驱动程序有四种方法,但是实际上的加载驱动有三种方法。但是常用的用到加载程序就只是两种而已。

Class.forName()用于加载驱动,有两种加载方式。Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Class.forName("oracle.jdbc.driver.OracleDriver");这两种方式加载的驱动有所不同,第一种是jdbc-odbc方式,第二种是jdbc方式,这种加载方式其实还可以是另一种加载方式,Driver
drv=new oracle.jdbc.driver.OracleDriver();DriverManager.registerDriver(drv)。但是实际上真正用起来并没有多大的区别,因为区别体现在性能上。

然后的步骤较为简单,分别就是建立连接,获得Statement对象,通过Statement对象执行sql语句,得到ResultSet对象。这些步骤中出现的类是关键,掌握这些类即可掌握整个加载过程。这些类分别是Connection类,Class类,ResultSet类,Statement类,DriverManager。特别是DriverManager最应该注意,因为他并没有生成对象,而是直接使用DriverManager进行方法的调用,这种设计模式使用的是单例模式,但是我们就仅仅只是用到他的方法,因此在实际使用是未必就需要引用DriverManager。

建立连接getConnection()的参数说明:第一个参数使用的是oracle url格式,为jdbc:oracle:thin:(协议)@IP地址:端口:所使用的数据库实例名,第二个参数和第三个参数分别为数据库用户名和密码。

在操作数据库上应该明白,操作的通用语言是SQL语言,因此基本的插入删除查找等功能应该掌握。

android中数据存储方法有5种, 分别为Sqlite,File,SharedPreferences,网络存储,ContentProvider进行数据存储,但是涉及到数据库的就只有Sqlite一个,Sqlite是一个轻型的嵌入式数据库引擎。不仅封装了利用SQL语言进行操作数据库的方法,还加入自己定义的操作数据库的方法,并且该数据库需要自己继承以添加自定义的特性。在使用上和java中操作oracle有相似之处,这点就在于运行SQL命令上,除此之外SQLite加入了自己的很多方法,并自行封装成类。(仍需加强)

File进行数据存储使用的就是openFileInput(),应明白之所以叫File的存取方法是因为openFileInput()里面存在File,而不仅仅只是openInput(),加载了File的特性在固有属性上进行的数据存储在手机文件上的操作。

SharedPreferences使用的是键值对形式进行的数据存储,是一个轻型的存储类。就设计模式来看属于单例模式,因此加载了方法editor(),用于操作数据。注意这是单例模式最常见的应用方式,大体上就是一个类里面装着另一个类,另一个类才是关键所在,用于存储数据,它所在的类提供他操作自身的方法并进行管理。之所以使用单例模式是因为在这里需要保证数据存储的唯一性,因此使用单例模式是最佳选择。数据最终存储在手机目录里面。

SQLite是android自带的嵌入式数据库,oracle数据库是外置的大型数据库,不能被java或是android嵌入,所以在使用oracle时就只能使用SQL进行连接操作,往往就是发送指令给数据库进行间接操作(数据库是主体,是数据库执行我们发出的指令),在这点上有别于SQLite。作为嵌入式的数据库,SQLite本身可以加入自定义的方法,也就是说存在不是SQL的方法。SQLite存在两种数据库实现方式,SQLiteDataBase与SQLiteOpenHelper,而事实上只用到SQLiteOpenHelper进行必要的实现一个帮助类,该类本身存在一个数据库SQLiteDatabase,而该类的其他方法就是围绕该数据库进行的操作。同时注意,该类的方法通过间接操作数据库的方法达到操作数据库。SQLiteOpenHelper必须实现三个方法分别是构造方法,onCreate,onUpgrate,其他的方法选择性的加载。可以将SQLiteOpenHelper看成是封装好的便于操作数据库的类,(未完成)

sharedpreferences,File,SQLite三者都会存储在手机目录里面。同时注意要操作手机的资源如:手机目录,是需要权限的。

ContentProvider再另一篇博客有详细介绍。

网络数据存储部分在另一篇博客有详细介绍。

Intent名字的意思是目的,意图,可用于页面转换,数据传递,调用外部程序,调用系统功能。

(未完成:同时应该注意在数据库的调用上,java和android虽有不同之处,但是有很多共通之处需要加强理解,可加深对于java,android调用数据库机制的理解。)

(未完成)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐