赞
踩
前一阵写了个关于数据库同步的小实例,当时的mysql连接出现了问题,就是连不上。当时由于在做一个小项目,就放在那了。做完项目,开始重新解决问题。经过了一天。终于把问题解决了,最后竟然发现是版本的问题。用的是8.0版本的mysql库与jar包,但是却不太行。当时就感觉可能是版本的问题,于是就上网上找以前的版本,也是费了很大的劲才找到。下面是博主测试成功的mysql与mysql 的jar包(测试的日期是2019/11/22)//这里给上测试的日期,怕以后可能老版的MySQL就没法用了。
链接:https://pan.baidu.com/s/1MXT7iuwoI1OEutkKa0NxKw
提取码:v3bt
复制这段内容后打开百度网盘手机App,操作更方便哦
先来说关于mysql的安装,点开里面的安装包
这里选择第三个(自定义安装),可以看到安装的地址。点next之后可以看到下面的页面
除了博主截图的地方需要改一下,剩下的都next就行啦。
这就是关于mysql的安装啦
下面介绍关于jar包的导入。//虽然很简单但还是说一下把,毕竟博客是面向新手的啊。
将其粘贴到app下的libs文件中,点击右键,点击Add As Library就可以啦。
下面介绍一下关于数据库的初始化问题
博主这里用的是Navicat 12 for MySQL来用图形化界面操作mysql的,进去后点击连接输入账号密码,密码是刚才安装的时候
搜索cmd进入命令行。然后cd为进入文件夹,进入刚才安装时输入的,账号默认是root。输入之后点确定就行了。
连上之后点击用户,然后你会看见有一个root的用户,双击进去
把里面的主机改成%,这样就可以通过虚拟机来访问了。到这里,对mysql的配置结束了就。
下面回到Android studio中,先添加权限。
//注意:这里很重要,博主试不同版本的jar包的时候,新建工程的时候就总忘加入权限。<难受>
主页面的代码很简单,只有一个button(这里为了,简洁,只展示一下mysql的连接,关于对数据的处理:增删改查就不难啦)
<?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"> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="按钮"/> </LinearLayout>
然后是java代码部分
import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; public class MainActivity extends AppCompatActivity { private static String driver = "com.mysql.jdbc.Driver";// MySql驱动 //192.168.1.103为我电脑的ip,这里要用自己电脑的ip,mydata为我电脑的数据库名,也要换。 private static String url = "jdbc:mysql://192.168.1.103:3306/mydata?serverTimezone=UTC"; private static String user = "root";// 用户名 private static String password = "123123";// 密码 Connection connection; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button); //这里为button的点击事件。 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(new Runnable() { @Override public void run() { connection = null; try { Log.e("", "现在开始连接"); Class.forName(driver).newInstance(); connection = (Connection) DriverManager.getConnection(url, user, password); //coonection如果为空那么说明连接没有连上,不为空说明连上了。 if (connection == null) { Log.e("", "连接失败"); } else { Log.e("", "连接成功"); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } } }).start(); } }); } }
//这里有还有需要注意的点就是,关于包的引用,要用jdbc中的。还有这里因为访问数据库,是耗时操作所以需要新建线程,这里是日志所以可以在子线程里进行,但是如果之后进行查询更新IU的话得回到主线程中更新。
以上就是关于mysql的连接啦,像增删改查之类的操作都比较简单,连接很重要,连接很重要,连接很重要!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。