您的位置:首页 > 移动开发 > Android开发

android通过jdbc连接mysql

2014-09-15 09:30 603 查看
转自:http://blog.csdn.net/yuanzeyao/article/details/38777557



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

java通过jdbc连接数据库的步骤:

1、注册驱动程序

注册驱动程序有三种方式:

方式一:Class.forName(“com.mysql.jdbc.Driver”);

J***A规范中明确规定:所有的驱动程序必须在静态初始化代码块中将驱动注册到驱动程序管理器中。

方式二: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数据库吧

[java]
view plaincopyprint?

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();

}

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数据库运行远程用户访问(如何设置请到网上查)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: