android连接Mysql数据库之JDBC方式

开篇之前,提醒一句,记得关闭电脑防火墙,我的Android手机一直连不上电脑Mysql,排查了两天,结果竟然是电脑防火墙的原因,那股不爽之情,油然而生.切记!!!

一.创建一个数据库和若干表,并导入相关信息.这里以我之前使用的一个图书系统的数据库为例子.

首先假设已经安装并配置好Mysql.(建议大家安装WAMP,也就是安装完这个,就相当于安装了Mysql,PHPAdimin,Apache这三个软件,以后采用php,apache搭建动态网站服务器的方式访问数据库时候需要用到这几个软件,以后会另外写一篇文章,在此不多说).

(一)进入Mysql Command Line Client客户端,创建一个名为"LibrarryDB"的数据库.

create database LibraryDB;

(二)赋予某某一个用户访问权限,以后通过这一个用户访问LibraryDB数据库.这个用户名为"user",登陆密码是"1234". localhost表示可以通过本地主机访问数据库LibraryDB.而@’%表示允许远程访问,即可以通过其他电脑或手机访问到你这个数据库.赋予用户权限后,flush privileges;相当于保存刷新.如果没有这一句,下次登陆会出现密码报错的情况.

grant all privileges on LibraryDB.* to’user’@localhost IDENTIFIED by ‘1234’;

grant all privileges on LibraryDB.* to’user’@’%’IDENTIFIED by ‘1234’;

flush privileges;

(三)往数据库里面创建表,并插入相关的数据.

进入Mysql客户端,使用use LibraryDB进入LibraryDB数据库,插入下面的数据.可以一条一条地插入,但如果数据量太庞大的话,这样的方式就显昝太麻烦,这个时候,可以考虑将这些数据放在某一个txt文件里面,然后将txt格式改为sql脚本文件.如我的命名为:db.sql.

create table book(ISBN varchar(20) primary key,B_Name varchar(50),B_Author varchar(50),B_Publishment varchar(80),B_BuyTime varchar(50));insert into book values(‘9787302164289′,’3ds max 9三维建模’,’程凤娟’,’清华大学出版社’,’2010-02-01′);insert into book values(‘9787121060953′,’photoshop cs3 图像处理’,’卓越科技’,’电子工业出版社’,’2003-02-01′);insert into book values(‘9787121102462′,’Java程序员职场全攻略-从小工到专家’,’吴亚峰’,’电子工业出版社’,’2004-04-05′);insert into book values(‘9787115227508′,’Android 2.0游戏开发实战宝典’,’吴亚峰’,’人民邮电出版社’,’2003-06-07′);insert into book values(‘9787030236630′,’PowerBuilder_10.5实用教程’,’樊金生’,’科学出版社’,’2005-07-05′);insert into book values(‘9787121079528′,’PowerBuilder 实用教程(第3版)’,’郑阿奇’,’电子工业出版社’,’2005-07-09′);insert into book values(‘9787302244158′,’大学计算机基础(21世纪普通高校计算机公共课程规划教材)’,’许薇,王东来 ‘,’清华大学出版社’,’2005-0-09′);insert into book values(‘9787562324560′,’微型计算机原理及应用’,’吴荣光,吕钧星’,’华南理工大学出版社’,’2005-07-09′);insert into book values(‘9787111187776′,’算法导论’,’(美)科曼(Cormen,T.H.) 等著,潘金贵 等译’,’机械工业出版社’,’2005-07-09′);create table student( S_Num varchar(20) primary key, S_Name varchar(50), S_Age varchar(10), S_Sex varchar(50), S_Class varchar(50), S_Department varchar(50), S_Phone varchar(11), S_Permitted varchar(50), S_Pwd varchar(20));insert into student values(‘10001′,’李亚’,’20’,’女’,’计算机1班’,’计算机系’,’15176536034′,’是’,’001′);insert into student values(‘10002′,’王飞’,21,’女’,’计算机1班’,’计算机系’,’13730220123′,’是’,’002′);insert into student values(‘10003′,’孙好’,20,’男’,’计算机1班’,’计算机系’,’13633654578′,’是’,’003′);insert into student values(‘10004′,’何光’,22,’男’,’计算机1班’,’计算机系’,’2578975′,’是’,’004′);insert into student values(‘10005′,’唐心’,21,’女’,’计算机1班’,’计算机系’,’13936968956′,’是’,’005′);insert into student values(‘10006′,’宋理光’,20,’男’,’计算机2班’,’计算机系’,’1234667′,’是’,’006′);

然后通过Mysql命令,将这份db.sql脚本文件导入到你的数据库当中.假设我的db.sql放在D盘.如图:

\. d:\db.sql;

二. 导入外部JAR包.

需要说明的是,JAVA虽然提供对JDBC的支持,但是,JAVA JDK里面并不包含JDBC API,因此,若想使用JDBC连接操作数据库,需要我们从外部导入一个JDBC的JAR包.这个JAR包,可以到Mysql官方网站(点击进入)去下载,如我下载的是:mysql-connector-java-5.0.8.tar.gz.将下载下来的文件解压,放到电脑某个盘上.如:d:\Mysql.新建一个JAVA或Android工程.

选择工程–>右键 Build Path–>Configur Build Path–>选择Java Build Path–>点击 Add External JARS–>选择下载的的jar包—>打开,确定

.

到此,JDBC的jar包就导入到你的工程里面去了.

三. JDBC连接并操作数据库

Java语言提供了对采用JDBC访问并操作数据库的支持.由于android是采用Java语言编写的,自然而然地,也就继承了这一功能的支持.

JDBC API 工作的4个重要的环节:

1. DriverManager类:依据数据库的不同管理jdbc驱动

2. Connection接口:负责连接数据库并担任传送数据的任务。

3. Statement 接口:友Connection产生,负责执行sql语句。

4. ResultSet接口:负责保存Statement执行后所产生的查询结果。

不管是java,还是android,其通过JDBC访问数据库的基本步骤都是一样的.

(一)加载JDBC驱动程序,并连接数据库.JDBC对于不同的数据库的连接方法略有不同.具体如下所示.//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码

1、DB2

  Class.forName("Com.ibm.db2.jdbc.net.DB2Driver");

  String url="jdbc:db2://dburl:port/DBname"

  cn = DriverManager.getConnection( url, userName, password );

  2、Microsoft SQLServer(microsoft)

  Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );

  cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://DBServerIP:1433;databaseName=master", userName, password );

  3、Sybase(jconn2.jar)

  Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );

  cn = DriverManager.getConnection( "jdbc:sybase:Tds:DBServerIP:2638", userName, password);

  4、MySQL(mm.mysql-3.0.2-bin.jar)

  Class.forName("com.mysql.jdbc.Driver");

  cn = DriverManager.getConnection( "jdbc:mysql://DBServerIP:3306/myDatabaseName", userName, password );

  5、PostgreSQL(pgjdbc2.jar)

  Class.forName( "org.postgresql.Driver" );

  cn = DriverManager.getConnection( "jdbc:postgresql://DBServerIP/myDatabaseName", userName, password );

  6、Oracle(classes12.jar)

  Class.forName( "oracle.jdbc.driver.OracleDriver" );

  cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", userName, password );

  7、ODBC

  Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );

  Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, userName, password );

由于我的电脑安装的是Mysql,主机IP为"192.168.137.1",数据库端口是默认的3306.故,连接到Mysql的程序为:

君子无故,玉不去身。

android连接Mysql数据库之JDBC方式

相关文章:

你感兴趣的文章:

标签云: