首页 > 数据库 >android连接mysql

android连接mysql

时间:2022-10-23 10:12:18浏览次数:41  
标签:ps String void studentBean 连接 mysql android public conn

导入Mysql的jar,和rxjava

    implementation "io.reactivex.rxjava2:rxjava:2.2.10"
    implementation "io.reactivex.rxjava2:rxandroid:2.0.2"

 

创建DBOpenHelper

package com.example.connectmysql;

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

public class DBOpenHelper {
    private static String diver = "com.mysql.jdbc.Driver";
    //加入utf-8是为了后面往表中输入中文,表中不会出现乱码的情况
    private static String url = "jdbc:mysql://ip:port/your db's name?characterEncoding=utf-8";
    private static String user = "user";//用户名
    private static String password = "password";//密码
    /*
     * 连接数据库
     * */
    public static Connection getConn(){
        Connection conn = null;
        try {
            Class.forName(diver);
            conn = (Connection) DriverManager.getConnection(url,user,password);//获取连接
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
}

创建bean类

package com.example.connectmysql;

public class StudentBean {
  String name;
  int id;
  int age;
  String major;

    public String getName() {
        return name;
    }

    public int getId() {
        return id;
    }

    public int getAge() {
        return age;
    }

    public String getMajor() {
        return major;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setMajor(String major) {
        this.major = major;
    }
}

在MainActivity中加入

private void executeAsyncTask(int i) {
        //Observable#create方法创建一个异步任务
        Observable.create(new ObservableOnSubscribe<Integer>() {
                    @Override
                    public void subscribe(@NonNull ObservableEmitter<Integer> e) throws Exception {

                        new Thread(new Runnable() {
                            @Override
                            public void run() {
                                Connection conn =(Connection) DBOpenHelper.getConn();
                                Statement st = null;
                                try {st = (Statement) conn.createStatement();} catch (SQLException ex) {ex.printStackTrace();}
                                switch (i){
                                    case 1:
                                        String sql = "select * from student";
                                        try {
                                            ResultSet rs = st.executeQuery(sql);
                                            while (rs.next()){
                                                studentBean=new StudentBean();
                                                studentBean.setName(rs.getString("name"));
                                                studentBean.setId(rs.getInt("id"));
                                                studentBean.setAge(rs.getInt("age"));
                                                studentBean.setMajor(rs.getString("major"));
                                                e.onNext(0);
                                            }
                                            st.close();
                                            conn.close();
                                        } catch (SQLException e) {
                                            e.printStackTrace();
                                        }
                                        break;
                                    case 2:
                                        String sqlInsert = "insert into student (id,name,age,major) values (?,?, ?,?)";
                                        try {
                                            PreparedStatement ps = conn.prepareStatement(sqlInsert);
                                            ps.setInt(1,202121103);
                                            ps.setString(2,"names");
                                            ps.setInt(3, 19);
                                            ps.setString(4,"cs");
                                            ps.executeUpdate();
                                            st.close();
                                            conn.close();
                                        } catch (SQLException e) {
                                            e.printStackTrace();
                                            Log.e("-->",e.getMessage());
                                        }
                                        e.onComplete();
                                        break;
                                    case 3:
                                        String sqlDele = "delete from student where id = ?";
                                        try {
                                            PreparedStatement ps = conn.prepareStatement(sqlDele);
                                            ps.setInt(1,202121101);
                                            ps.executeUpdate();
                                            st.close();
                                            conn.close();
                                        } catch (SQLException e) {
                                            e.printStackTrace();
                                            Log.e("-->",e.getMessage());
                                        }
                                        e.onComplete();
                                        break;
                                    case 4:
                                        String sqlUpdate = "update student set age = ? where id = ?";
                                        try {
                                            PreparedStatement ps = conn.prepareStatement(sqlUpdate);
                                            ps.setInt(1,22);
                                            ps.setInt(2,202120100);
                                            ps.executeUpdate();
                                            st.close();
                                            conn.close();
                                        } catch (SQLException e) {
                                            e.printStackTrace();
                                            Log.e("-->",e.getMessage());
                                        }
                                        e.onComplete();
                                        break;
                                }

                            }
                        }).start();
                    }
                })
                .subscribe(new Observer<Integer>() {
                    @Override
                    public void onSubscribe(@NonNull Disposable d) {
                    }

                    @Override
                    public void onNext(@NonNull Integer integer) {
                        Log.e("-->",studentBean.getName()+"\n"
                        +studentBean.getId()+"\n"
                        +studentBean.getAge()+"\n"
                        +studentBean.getMajor());
                    }

                    @Override
                    public void one rror(@NonNull Throwable e) {
                    }

                    @Override
                    public void onComplete() {
                        Log.e("-->","COMP");

                    }
                });

    }

直接用mysql语句即可

标签:ps,String,void,studentBean,连接,mysql,android,public,conn
From: https://www.cnblogs.com/Frank-dev-blog/p/16817993.html

相关文章

  • ndroid studio连接手机真机调试(以华为手机为例)
    电脑打开360软件管家,并安装360手机助手,pc端下载手机usb驱动!四、打开360手机助手,usb连接手机到电脑,手机助手会自动下载安装手机驱动。安装好,记得要退出360手机助手(pc版)[此......
  • docker部署mysql8.0
    linux环境下基于docker部署并配置mysql8.0环境docker-18.06.0192.168.12.220002主192.168.12.320004从1.#下载mysql的版本dockerpullmysql:8.0.222.#创......
  • Android掌控WiFi不完全指南
    前言如果想要对针对WiFi的攻击进行监测,就需要定期获取WiFi的运行状态,例如WiFi的SSID,WiFi强度,是否开放,加密方式等信息,在Android中通过WiFiManager来实现WiFiManager简介W......
  • mysql(分页表,日期.表连接,事务,索引,视图,备份)
    1.分页:limirm,n(一般放最后,其次在排序)m:表示从第几条数据开始显示(0表示第一天数据)n:表示每页显示的数据条数公式m=(pageNo-1)*pangeSizepageNo:表示显示的第......
  • SpringBoot 创建项目连接mysql数据库
    Spring 创建项目1.创建一个springboot项目2.点击File---- New---- project项目名称可以随便填写...3. Springboot版本尽量不要最新版,怕你们驾驭不了......
  • mysql主从复制
    配置主库Master1.修改mysql配置文件/etc/my.cnf[mysqld]log-bin=mysql-bin#启动二进制文件server-id=100#服务器唯一id2.重启MySQL服务systemctlrestartmysqld......
  • Dcoker实战:Linux环境安装mysql8.0.27安装步骤
    ​今天给大家分享Centos8系统下安装mysql8.0.27,具体参考下面的步骤就可以使用Docker正确安装mysql。1、拉取镜像#拉取最新的mysql版本dockerpullmysql#查看mysql镜像dock......
  • MySQL - 数据库配置参数、性能优化教程
     将 MySQL 部署到普通的 X86 服务器上,在不经过任何优化情况下,MySQL 理论值正常可以处理 2000 左右 QPS。不过当访问量达到 1500 左右并发连接时,数据库处理性能......
  • android pthread_t
    最近在解决tvm绑核问题时,发现android下绑核只有sched_setaffinity函数,这导致无法使用标准库中的td::thread::native_handle_typethread进行绑核操作。虽然在ndk21以上的......
  • centos8 下docker安装mysql
    1、安装dockerhttps://www.cnblogs.com/bk-your/p/16816372.html//安装docker地址2、docker拉取5.7版本的mysqldockerpullmysql:5.7//拉取镜像3、查看拉......