android通过jdbc连接mysql

转自:http://blog.csdn.net/yuanzeyao/article/details/38777557

 

在Android客户端通过Http请求将数据传送到服务端,然后再服务端连接mysql数据库

java通过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数据库吧

  1. public void onClickQuery(View view)  
  2.  {  
  3. //在android中操作数据库最好在子线程中执行,否则可能会报异常   
  4.    new Thread()  
  5.    {  
  6.      public void run() {  
  7.        try {  
  8.       //注册驱动   
  9.          Class.forName("com.mysql.jdbc.Driver");  
  10.          String url = "jdbc:mysql://10.0.2.2:3306/gjun";  
  11.          Connection conn = DriverManager.getConnection(url, "root""gavin");  
  12.          Statement stmt = conn.createStatement();  
  13.          String sql = "select * from t_user";  
  14.          ResultSet rs = stmt.executeQuery(sql);  
  15.   
  16.   
  17.          while (rs.next()) {  
  18.            Log.v("yzy""field1-->"+rs.getString(1)+"  field2-->"+rs.getString(2));  
  19.          }  
  20.   
  21.   
  22.          rs.close();  
  23.          stmt.close();  
  24.          conn.close();  
  25.          Log.v("yzy""success to connect!");  
  26.        }catch(ClassNotFoundException e)  
  27.        {  
  28.          Log.v("yzy""fail to connect!"+"  "+e.getMessage());  
  29.        } catch (SQLException e)  
  30.        {  
  31.          Log.v("yzy""fail to connect!"+"  "+e.getMessage());  
  32.        }  
  33.      };  
  34.    }.start();  
  35.      
  36.  }  
 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数据库运行远程用户访问(如何设置请到网上查)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值