目录

1.在mysql中加一个权限比较高的用户

1.1查看一下mysql用户及其权限

1.2增加一个用户到mysql

2.在安卓中的准备工作

2.1下载mysql-connector-java-5.1.49.jar和

ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar

 2.2将这个jar包配置到安卓项目里

 2.3配置对应api的网络权限,我的是api26

 2.4注意事项

2.4.1如何查自己电脑的IP,

2.4.2关于mysql *.jar的使用

2.4.3一定要配置网络权限和导好包

3.代码

3.1 MainActivity.java

3.2查询成功的样子

 4.结束啦!!!


序言:前段时间老师布置了一个通讯录的作业,有用到数据库,我想着我自己用的数据库工具就是mysql,所以就一直在连安卓与mysql,但一直没连成功,直到我历经各种博客后,我连成功了,所以打算写篇记录安卓连接mysql的博客。还有就是发现我之前写的两篇博客里居然有两个收藏了,哇塞,超开心的!!!感觉得到了认可。

1.在mysql中加一个权限比较高的用户

1.1查看一下mysql用户及其权限

查询语句

SELECT user,host FROM mysql.user;

注意要到你电脑安装MySQL文件的目录下bin目录下打开,或者是cd到对应的目录文件下,一定要进入到bin目录下呀!!!

比如我的目录就是D:\program\mysql-8.0.28-winx64\bin

android studio链接svn Android studio链接MySQL8.0.27的驱动_数据库

android studio链接svn Android studio链接MySQL8.0.27的驱动_android studio链接svn_02

android studio链接svn Android studio链接MySQL8.0.27的驱动_mysql_03

看到local和root对应的host都是%,这表示他们权限最高了。

1.2增加一个用户到mysql

语句

create user 'local2'@'%' identified by '123456';
grant all privileges on *.* to 'local2'@'%';
 flush privileges;

效果对比图

android studio链接svn Android studio链接MySQL8.0.27的驱动_android studio链接svn_04

android studio链接svn Android studio链接MySQL8.0.27的驱动_android studio链接svn_05

android studio链接svn Android studio链接MySQL8.0.27的驱动_jar_06

增加local2成功

android studio链接svn Android studio链接MySQL8.0.27的驱动_android studio链接svn_07

 完成前期准备工作啦!!!

2.在安卓中的准备工作

2.1下载mysql-connector-java-5.1.49.jar和

ksoap2-android-assembly-3.3.0-jar-with-dependencies.jar(记2023.2.1,只是用MySQL其实不需要加载这个包的,个人失误)

下拉一点就能看见了

android studio链接svn Android studio链接MySQL8.0.27的驱动_数据库_08

 2.2将这个jar包配置到安卓项目里

android studio链接svn Android studio链接MySQL8.0.27的驱动_mysql_09

 2.3配置对应api的网络权限,我的是api26

或许你也可以自己上网搜”api某某的网络权限怎么开“,

这样子看自己的api是多少

android studio链接svn Android studio链接MySQL8.0.27的驱动_android studio链接svn_10

 2.4注意事项

2.4.1如何查自己电脑的IP,

如果你的电脑连的是你自己手机的热点,你可以这样查到自己电脑ip,ip后面的就是你电脑的IP

android studio链接svn Android studio链接MySQL8.0.27的驱动_jar_11

 如果是用网线的,就可以右键cmd以管理员身份运行,打ipconfig,最后一个那里的ipv4的地址就是你本电脑的IP,如果还是不会可以搜一下百度啦!

2.4.2关于mysql *.jar的使用

我发现mysql8.多的jar包在安卓好像不太适用,推荐下5.多的

2.4.3一定要配置网络权限和导好包

很重要哈!!!

3.代码

3.1 MainActivity.java

public class MainActivity extends AppCompatActivity {

    private EditText phoneSecEditText;
    private TextView resultView;
    private Button queryButton;
    private String result;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
      
        String driver = "com.mysql.cj.jdbc.Driver";
    

        new Thread(() -> {
                try {

                            Class.forName("com.mysql.jdbc.Driver");

                            Connection cn= DriverManager.getConnection("jdbc:mysql://你的IP:3306/你的数据库?useUnicode=true&characterEncodeing=UTF-8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=true","local2","123456");
                            //Class.forName(driver).newInstance();
                     //  Connection conn=(Connection) DriverManager.getConnection(url,user,password);
                    Statement stmt =  cn.createStatement();
                    //测试一下连接情况
                    String sql ="Select * from tb_brand";
                    ResultSet rs=stmt.executeQuery(sql);
                    int j=0;
                    while(rs.next()) {
                        String i = rs.getString("brand_name");
                        j++;
                        System.out.println(i + "\n");
                    }
                } catch (ClassNotFoundException e) {
                    System.out.println("连接数据库失败");
                    e.printStackTrace();
                } catch (SQLException e) {
                    e.printStackTrace();
                }

        }).start();}}

3.2查询成功的样子

android studio链接svn Android studio链接MySQL8.0.27的驱动_android studio链接svn_12

 4.结束啦!!!

如果一直有查不成功的,可以先看自己的sql语句或者网络权限,也可以给我留言喔。希望咱能一起进步学习。其实代码一直都不多,我个人感觉难的一直是配置,所以一直连不上的时候想想网络权限开没,是不是jar的问题,会不会是mysql服务没打开,会不会是自己的用户权限没配好。