安卓端直接操作MySQL数据库,和服务端操作基本相同,只不过Android不可以直接操作本地的MySQL数据库,因为本地的数据库通常没有远程连接功能;而服务端却可以直接操作本地数据库。
Android直接操作部署在服务器上的MySQL数据库。
1、导入jar包mysql-connector-java-5.1.30-bin.jar
2、创建DBConnection.java
public class DBConnection {
public void DBConnection (){
//要连接的数据库url,注意:此处连接的应该是服务器上的MySQl的地址
String url = "jdbc:mysql://139.159.221.40:3306/nt_backup?useUnicode=true&characterEncoding=utf8";
//连接数据库使用的用户名
String userName = "987";
//连接的数据库时使用的密码
String password = "123";
//1、加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获取与数据库的连接
Connection connection = DriverManager.getConnection(url, userName, password);
//3、获取用于向数据库发送sql语句的statement
Statement statement = connection.createStatement();
//sql语句
String sql = "select id, name, password, email,birthday from users";
//4、向数据库发送sql,并获取代表结果集的resultSet
ResultSet set = statement.executeQuery(sql);
//5、取出结果集的数据
while (set.next()) {
System.out.println("id = " + set.getObject("id"));
System.out.println("name = " + set.getObject("name"));
System.out.println("password = " + set.getObject("password"));
System.out.println("email = " + set.getObject("email"));
System.out.println("birthday = " + set.getObject("birthday"));
}
//6、关闭连接,释放资源
set.close();
statement.close();
connection.close();
}
}
3、创建activity_main.xml
文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="connect" />
</LinearLayout>
4、创建ConnectMySQLActivity.java
,注意:操作数据库要写在子线程中
public class ConnectMySQLActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.connect_sql_activity);
findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
new DBConnection() ;
}
}).start();
}
});
}
}
5、添加联网权限
<uses-permission android:name="android.permission.INTERNET"/>