Android使用JDBC连接mysql数据库
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38777557
移动设备中常用的数据库时sqlite数据库,Android设备中也不例外,但是今天我们就来讨论一下如何使用Android连接mysql数据库
在实际的项目中貌似很少使用android连接mysql数据库,通常是在Android客户端通过Http请求将数据传送到服务端,然后再服务端连接mysql数据库。
在学习android连接Mysql 数据库前,我们先来复习一下java如何通过jdbc连接Mysql
JDBC程序开发的六个步骤:
1、注册驱动程序
注册驱动程序有三种方式:
方式一:Class.forName(“com.mysql.jdbc.Driver”);
JAVA规范中明确规定:所有的驱动程序必须在静态初始化代码块中将驱动注册到驱动程序管理器中。
方式二:Driver drv = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(drv);
方式三:编译时在虚拟机中加载驱动
java –Djdbc.drivers = com.mysql.jdbc.Driver xxx.java
java –D jdbc.drivers=驱动全名 类名
使用系统属性名,加载驱动 -D表示为系统属性赋值
2、建立数据库连接对象(Connection)
方式一:
Connection conn=DriverManager.getConnection(“jdbc:mysql://192.168.8.21:3306/test”, ” User”,” Pasword”);
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","scott","scott");
方式二:
Properties pro = new Properties();
pro.put("user",userName);
pro.put("password",password);
Connection con = DriverManager.getConnection(url,pro);
3、创建Statement对象
Statement stm = con.createStatement();
4、发送SQL语句
stm.executeUpdate()或者stm.executeQuery()
5、如果有结果集,处理结果集(ResultSet)
6、关闭相应的流资源
那么开始在android中开始通过Jdbc连接Mysql数据库吧
public void onClickQuery(View view) { //在android中操作数据库最好在子线程中执行,否则可能会报异常 new Thread() { public void run() { try { //注册驱动 Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://10.0.2.2:3306/gjun"; Connection conn = DriverManager.getConnection(url, "root", "gavin"); Statement stmt = conn.createStatement(); String sql = "select * from t_user"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { Log.v("yzy", "field1-->"+rs.getString(1)+" field2-->"+rs.getString(2)); } rs.close(); stmt.close(); conn.close(); Log.v("yzy", "success to connect!"); }catch(ClassNotFoundException e) { Log.v("yzy", "fail to connect!"+" "+e.getMessage()); } catch (SQLException e) { Log.v("yzy", "fail to connect!"+" "+e.getMessage()); } }; }.start(); }
注意,我这个是在模拟器上运行的,如果在真机上运行,那么Ip地址就需要换成真实Ip地址,在虚拟机中,10.0.2.2指的就是电脑的Ip 地址
在运行过程中一定要注意:
1、关闭防火墙
2、在配置文件中加入网络访问权限android.permission.INTERNET ,不然一直失败
3、mysql数据库运行远程用户访问(如何设置请到网上查)