一个简单的Android通过jdbc直接连接mysql数据库的小例子

代码如下:

package com.example.machine.gasmonitoring;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SQLActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sql);
new Thread(runnable).start();
}
Handler myHandler = new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
Bundle data = new Bundle();
data=msg.getData();
System.out.println("username" + data.get("username").toString());
System.out.println("userpass" + data.get("userpass").toString());
}
};
Runnable runnable = new Runnable() {
private Connection connection = null;

@Override
public void run() {
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://IPAddress:3306/Databasename", "username", "youpass");
System.out.print("连接成功");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
test(connection); //测试数据库连接
} catch (java.sql.SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void test(Connection con1) throws java.sql.SQLException {
try {
String sql = "select * from user"; //查询表名为“user”的所有内容
Statement stmt = con1.createStatement(); //创建Statement
ResultSet rs = stmt.executeQuery(sql); //ResultSet类似Cursor

//<code>ResultSet</code>最初指向第一行
Bundle bundle = new Bundle();
while (rs.next()) {
bundle.clear();
bundle.putString("username", rs.getString("username"));
bundle.putString("userpass", rs.getString("userpass"));
Message msg = new Message();
msg.setData(bundle);
myHandler.sendMessage(msg);
}

rs.close();
stmt.close();
} catch (SQLException e) {

} finally {
if (con1 != null)
try {
con1.close();
} catch (SQLException e) {
}
}
}
};
};



这是一个简单的Android通过jdbc直接连接数据库的例子,代码中的IPAddress指你的ip地址,Databasename指的是你的数据库的名字,不是表的名字,指数据库的名字,username和yourpass分别是你的数据库用户名和密码。
这个例子中我主要是做了一个直接查询的功能,查询了user表中的两列数据,打印到控制台,大家也可以自己再深入研究添加其他功能。

需要注意的是,在使用jdbc连接数据库的时候肯定是要使用连数据的jar的包,我用的是android studio开发的,所以架包直接放在libs文件夹下面:

另外在使用IP地址的时候使用127.0.0.1的时候可能会报错

显示这样的错误,意思是尝试调用sql接口的时候出现了空指针异常,具体原因还没分析,所以我用的ip地址是自己服务器的ip地址,是公网。

还有一点是在AndroidManifest.xml文件中要添加可访问网络的权限

<uses-permission android:name="android.permission.INTERNET"/>
之后才可以运行。
这个本地ip不能用的问题等研究之后再贴。

转载于:https://www.cnblogs.com/wang-bo/articles/6716178.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值