android开发建立mysql数据库

喜夏-厌秋 提交于 2019-11-27 12:13:50

工具

  1. mysql
  2. mysql-connector-java-5.1.36(jdbc引擎)
  3. android studio
    工具连接 link
    mysql推荐5.7版,这样mysql-connector-java、android sdk三者之间兼容性好。

mysql

  1. 打开安装包一直next
  2. root 的 from host 改为%

android

  1. 导入mysql-connector-java-5.1.36包
  2. 导入工具类(仅实现连接、读取数据)
package com.yang.mysql.mysql;

import android.util.Log;

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

public class MySQLService {

    private String url="jdbc:mysql://192.168.43.136:3306/数据库名?useSSL=false&serverTimezone=UTC";//
    private String user="root";//your user name
    private String password="yang";//your password 
    PreparedStatement statement;
    Connection conn = null;

	//只连接
    public Connection getConnection(final String url,final String user,final String password){


        new Thread(new Runnable() {
            @Override
            public void run() {
                //连接数据库
                try {
                    Class.forName("com.mysql.jdbc.Driver");
                    conn = DriverManager.getConnection(url,user,password);
                    if(conn!=null) {
                        Log.e("yang","连接成功");
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                    Log.e("error","sql error");
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                    Log.e("error","class");
                }
            }
        }).start();
        return conn;
    }

    //连接数据库
    private void getConn(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url,user,password);
            if(conn!=null) {
                Log.e("yang","连接成功");
            }
        } catch (SQLException e) {
            e.printStackTrace();
            Log.e("error","sql error");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            Log.e("error","class");
        }
    }

    //获取数据库内容
    public ResultSet getTable(String sql){//sql为mysql语句

        ResultSet resultSet=null;
        if(conn==null)
            getConn();
        try {
            statement=conn.prepareStatement(sql);
            Log.e("yang","连接成功");
            resultSet=statement.executeQuery();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return resultSet;
    }
}
  1. 调用示例(注意一定开线程调用)
new Thread(new Runnable() {
    @Override
    public void run() {
         MySQLService mySQLService =new MySQLService();
         String sql = "SELECT*from user";
         ResultSet resultSet=mySQLService.getTable(sql);
        try {
            while(resultSet.next()){
                String oneText="学号:"+resultSet.getString("Snum")
                        +"\n姓名:"+resultSet.getString("Sname")+"\n";
                text+=oneText;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        handler.sendEmptyMessage(0);
    }
}).start();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!