Android 连接MySQL
2023-09-14 09:04:24 时间
AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
在libs下添加MySQL驱动
下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java
建议使用:mysql-connector-java-5.1.49.jar 版本
网盘下载:
链接:https://pan.baidu.com/s/153hgUmRVAr9xfbFQxsBbkQ
提取码:160j
build.gradle
implementation files('libs/mysql-connector-java-5.1.49.jar')
DBUtil
import android.content.Context;
import android.os.Looper;
import android.util.Log;
import android.widget.Toast;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
private static String diver = "com.mysql.jdbc.Driver"; //固定写法
private static String url = "jdbc:mysql://ip地址:端口号/数据库名?characterEncoding=utf-8";
private static String user = "wr";//用户名
private static String password = "xxxxx";//密码
/*
* 连接数据库
* */
public static Connection getConn() {
Connection conn = null;
try {
Class.forName(diver);
conn = (Connection) DriverManager.getConnection(url, user, password);//获取连接
Log.e("getConn", "连接成功");
} catch (ClassNotFoundException e) {
Log.e("getConn", e.getMessage(), e);
e.printStackTrace();
} catch (SQLException e) {
Log.e("getConn", e.getMessage(), e);
e.printStackTrace();
}
return conn;
}
public static void mQuery(Connection conn){
final String SQL ="select *from user"; //查询user表
int id[]=new int[10];
String name[]=new String[10],password[]=new String[10],age[]=new String[10],sfz[]=new String[10],address[]=new String[10];
new Thread(new Runnable() {
@Override
public void run() {
try {
Statement statement = (Statement)conn.createStatement();
ResultSet resultSet = statement.executeQuery(SQL);
int i=0;
while (resultSet.next()){
id[i] = resultSet.getInt("ID");
name[i] = resultSet.getString("name");
password[i] = resultSet.getString("password");
age[i] = resultSet.getString("age");
sfz[i] = resultSet.getString("sfz");
address[i] = resultSet.getString("address");
Log.d("wangrui","id="+id[i]+"---name="+name[i]+"---password="+password[i]+"---age="+age[i]+"---sfz="+sfz[i]+"---address="+address[i]);
i++;
}
}catch (SQLException e) {
e.printStackTrace();
}
}
}).start();
}
public static void close(Statement state, Connection conn) {
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(ResultSet rs, Statement state, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (state != null) {
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
private Connection conn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
conn = DBUtil.getConn();
DBUtil.mQuery(conn);
}
}).start();
}
}
相关文章
- MySQL表:更新数据的正确方法(mysql表更新数据)
- MySQL数据同步解决方案(mysql同步工具)
- 深入学习MySQL命令:查看表结构(mysql命令查看表结构)
- MySQL左右连接:结合表数据实例研究(mysql的左右连接)
- 连接MySQL:轻松实现数据库连接(连接mysql软件)
- MySQL自表关联:一种高效连接技术(mysql自表关联)
- MySQL:数据库中的力量(mysql或)
- MySQL字符串连接:最佳实践(mysql字符串连接符)
- 探索MySQL占用的端口号(查询mysql占用端口)
- 解锁MySQL远程连接数据库的关键(mysql远程连接数据库)
- 优化MySQL外键优化:提升性能的终极方案(mysql外键性能)
- MySQL事务超时时间的优化策略(mysql事务超时时间)
- MySQL查询表的技巧与应用(mysql数据库表的查询)
- MySQL 视图:一次性洞察复杂数据结构(mysql视图详解)
- 的整合『使用 Qt 与MySQL实现创新性的数据库应用』(qt与mysql)
- Maximizing Efficiency: Tips for Optimizing MySQL Query Performance in Daily Use(mysql每天查询)
- MySQL如何实现注册功能(mysql如何注册)
- MySQL全外连接的使用方法详解(mysql中使用全外连接)
- CS利用MySQL建立连接一个新的可能性(cs连接mysql)
- MySQL中的CJ查询优化技巧(mysql中cj)
- MySQL中的Admin表管理数据库的关键(mysql中admin表)
- c语言编程API实现MySQL数据库连接(c api链接mysql)
- 命令行登录MySQL失败了怎么办(cmd登不上mysql)
- 使用b4a快速连接Mysql搭建数据库环境(b4a链接mysql)
- 20G文本数据快速导入MySQL系统(20g文本导入mysql)
- MySQL每秒读写次数超级迅速(mysql一秒 读写次数)
- 探索MySQL一周之前的数据变化与应用优化技巧(mysql 一周之前)
- mysql表设计指南打造完美表结构,提升数据管理效率(mysql一个表设计)
- MySQL 实现不同数据库和表间的连接(mysql不同库表连接)
- MySQL主从复制中如何避免停库操作(mysql不停库做主从)