当前位置: 首页 > news >正文

Android——连接MySQL(Java版)

Android——连接MySQL(Java版)

目录:

  • Android——连接MySQL(Java版)
    • 一、JDBC
      • 1、什么是JDBC
      • 2、载入JDBC
      • 3、创建JDBC的工具类
    • 二、使用数据库

一、JDBC

1、什么是JDBC

JDBC全称Java Database Connectivity,译为Java语言连接数据库,是sun公司制定的一个接口。不同的数据库都有对应JDBC的jar包用于驱动数据库。

2、载入JDBC

在Android开发中,是以Gradle创建项目,添加JDBC关于MySQL的接口,在项目文件(app目录)下找到build.gradle文件,在dependencies添加语句

implementation 'mysql:mysql-connector-java:5.1.25'

冒号后为MySQL客户端的版本,添加后环境会自动安装。

3、创建JDBC的工具类

在项目文件中新建DBHelper类,添加Driver和数据库密码等信息,然后通过JDBC接口发送至数据库。

public class DBHelper {private static String diver = "com.mysql.jdbc.Driver";//加入utf-8是为了后面往表中输入中文,表中不会出现乱码的情况private static String url = "jdbc:mysql://地址:端口/用户名?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=FALSE&autoReconnect=true&failOverReadOnly=false";private static String user = "";//用户名private static String 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;}
}

根据MySQL不同的版本,MySQL8.0中Driver的应该为com.mysql.cj.jdbc.Driver

二、使用数据库

在项目中实例化工具类创建连接

Connection conn = null;
conn=(Connection)DBHelper.getConn();

实例化Statement类用于将命令发送到数据库中

Statement statement=null;
statement=conn.createStatement();

创建SQL语句

String SQL="select * from 表名 where 变量名='"+username+"';";

最后实例化ResultSet类用于接受MySQL返回的信息

 ResultSet resultSet=statement.executeQuery(SQL);

当数据库返回为大量数据时使用while循环读取

 while (resultSet.next()){String sql_password=resultSet.getString("password");String user_type=resultSet.getString("type");
}

注意的是在使用statement对象时,要使用try-catch方法,以下是获取输入的账号密码对比数据库内数据的完整代码

public void login(View v){new Thread(new Runnable() {@Overridepublic void run() {EditText editText_username=(EditText) findViewById(R.id.phone_num);EditText editText_password=(EditText)findViewById(R.id.psw);String username=editText_username.getText().toString();String t_password=editText_password.getText().toString();Connection conn = null;conn=(Connection)DBHelper.getConn();Statement statement=null;try {statement=conn.createStatement();String SQL="select * from user where username='"+username+"';";System.out.println(SQL);ResultSet resultSet=statement.executeQuery(SQL);boolean change=false;while (resultSet.next()){String sql_password=resultSet.getString("password");String user_type=resultSet.getString("type");System.out.println(sql_password);if(t_password.equals(sql_password)){m_username=username;m_user_type=user_type;conn.close();statement.close();resultSet.close();finish();if (User_Status==true) {User.instance.finish();}Intent intent=new Intent(context,MainActivity.class);startActivity(intent);}}if(change==false) {Looper.prepare();Toast.makeText(Login.this, "账号或密码错误", Toast.LENGTH_SHORT).show();Looper.loop();editText_username.setText("null");editText_password.setText("null");conn.close();statement.close();resultSet.close();}} catch (SQLException e) {e.printStackTrace();}}}).start();}

相关文章:

Android——连接MySQL(Java版)

Android——连接MySQL(Java版) 目录: Android——连接MySQL(Java版)一、JDBC1、什么是JDBC2、载入JDBC3、创建JDBC的工具类 二、使用数据库 一、JDBC 1、什么是JDBC JDBC全称Java Database Connectivity,译为Java语言连接数据库,是sun公司制…...

「四」体验HarmonyOS端云一体化开发模板——工程目录结构与云侧工程一键部署AGC云端

关于作者 白晓明 宁夏图尔科技有限公司董事长兼CEO、坚果派联合创始人 华为HDE、润和软件HiHope社区专家、鸿蒙KOL、仓颉KOL 华为开发者学堂/51CTO学堂/CSDN学堂认证讲师 开放原子开源基金会2023开源贡献之星 「目录」 「一」HarmonyOS端云一体化概要 「二」体验HarmonyOS端云一…...

Kotlin:后端开发的新宠

在当今的软件开发领域,编程语言的选择对于项目的成功至关重要。Kotlin,一种由 JetBrains 开发的编程语言,近年来在后端领域逐渐崭露头角,展现出了广阔的应用前景。 一、Kotlin 简介 Kotlin 是一种基于 JVM(Java Virt…...

SSM全家桶 1.Maven

或许总要彻彻底底地绝望一次 才能重新再活一次 —— 24.11.20 maven在如今的idea中已经实现自动配置,不需要我们手动下载 一、Maven的简介和快速入门 Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建测试、打包和发…...

SpringBoot 集成 html2Pdf

一、概述&#xff1a; 1. springboot如何生成pdf&#xff0c;接口可以预览可以下载 2. vue下载通过bold如何下载 3. 一些细节&#xff1a;页脚、页眉、水印、每一页得样式添加 二、直接上代码【主要是一个记录下次开发更快】 模板位置 1. 导入pom包 <dependency><g…...

利用 Watchtower 自动监听并更新正在运行的 Docker 容器

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 大部分 VPS 和 NAS 用户或多或少都有用 Docker 来部署一些 Self-hosting 的服务&#xff0c;其中大部分项目都是开源项目&#xff0c;更新频率非常高&#xff0c;特别是一些版本 0.x 的项目&#xff0c;及…...

Nodejs开发仿马蜂窝旅游小程序API接口,服务器端开发,商家后台 Vue3+微信小程序+koa+mongodb+node.js

文章目录 &#x1f680; 开启您的互联网创业新篇章一、&#x1f525; 课程亮点&#xff1a;二、&#x1f310; 适合人群&#xff1a;学习这个课程后&#xff0c;您将会收获到三、旅游后台管理系统1.后台登录界面2.后台首页 四、前台旅游小程序1.首页展示2.目的地界面3.搜索功能…...

极限失控的大模型使电力系统面临的跨域攻击风险及应对措施

目录&#xff1a; 0 引言 1 就大模型发生极限失控的风险进行讨论的必要性、紧迫性 1.1 预训练的数据来源 1.2 能力涌现与不可解释性 1.3 大模型与物质世界的连接 1.4 数量效应与失控 1.5 大模型发生极限失控的风险 1.5.1 人工智能反叛所需要素能力的拼图 1.5.2 火种源…...

mybatis-plus方法无效且字段映射失败错误排查

问题&#xff1a; Invalid bound statement (not found): com.htlc.assetswap.mapper.WalletMapper.insert&#xff0c;并且select * 进行查询时带下划线的字段未成功映射。 排查&#xff1a; 1.检查WalletMapper接口&#xff0c;确保继承自BaseMapper 2.启用驼峰命名法映射。a…...

librdns一个开源DNS解析库

原文地址&#xff1a;librdns一个开源DNS解析库 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 介绍 librdns是一个开源的异步多功能插件式的解析器&#xff0c;用于DNS解析。 源代码地址&#xff1a;GitHub - vstakhov/librdns: Asynchrono…...

Unity3D 逻辑服的Entity, ComponentData与System划分详解

前言 在Unity3D中&#xff0c;逻辑服(Entity, ComponentData和System)是一种非常高效的组件化设计模式&#xff0c;它可以帮助开发者更好地管理游戏中的实体和逻辑。本文将详细介绍Unity3D逻辑服的概念以及如何实现Entity、ComponentData和System的划分。 对惹&#xff0c;这…...

跟《经济学人》学英文:2024年11月23日这期 Why British MPs should vote for assisted dying

Why British MPs should vote for assisted dying A long-awaited liberal reform is in jeopardy in jeopardy&#xff1a;在危险中 jeopardy&#xff1a;美 [ˈdʒepərdi] 危险&#xff1b;危机&#xff1b;风险&#xff1b; 原文&#xff1a; THIS NEWSPAPER believes …...

基于阿里云服务器部署静态的website

目录 一&#xff1a;创建服务器实例并connect 二&#xff1a;本地文件和服务器share 三&#xff1a;关于IIS服务器的安装预配置 四&#xff1a;设置安全组 五&#xff1a;建站流程 六&#xff1a;关于备案 一&#xff1a;创建服务器实例并connect 创建好的服务器实例在云…...

【2024 Optimal Control 16-745】Ubuntu22.04 安装Julia

找不到Julia 内核 下载Julia curl -fsSL https://install.julialang.org | sh官网下载&#xff1a;Julia 安装 IJulia 打开 Julia REPL&#xff08;在终端中输入 julia&#xff09;并执行以下命令安装 IJulia&#xff1a; using Pkg Pkg.add("IJulia")这将为 Ju…...

nuget默认包管理格式:packages.config、packageReference区别

packages.config 和 PackageReference 是 NuGet 中的两种包管理格式&#xff0c;各有优劣&#xff0c;适用于不同的场景。以下是它们的详细对比&#xff1a; 1. packages.config 格式 这是 NuGet 的传统包管理格式&#xff0c;早期版本使用的默认方法。 特点 依赖声明文件&…...

element-plus教程:Input Number 数字输入框

一、基础用法 要使用Input Number数字输入框&#xff0c;只需要在<el-input-number>元素中使用v-model绑定变量即可。例如&#xff1a; <template><el-input-number v-model"value" /> </template><script lang"ts" setup>…...

M|横道世之介

rating: 8.0 豆瓣: 8.8 上映时间: “2013” 类型: M剧情爱情 导演: 冲田修一 Shichi Okita 主演: 冲田修一 Shichi Okita吉高由里子 Yuriko Yoshitaka 国家/地区: 日本 片长/分钟: 160分钟 M&#xff5c;横道世之介 横道世之介是一个热情、纯真的人&#xff0c;大家…...

借助算力云跑模型

算力平台&#xff1a;FunHPC | 算力简单易用 AI乐趣丛生 该文章只讲述了最基本的使用步骤&#xff08;因为我也不熟练&#xff09;。 【注】&#xff1a;进入平台&#xff0c;注册登录账号后&#xff0c;才能租用。学生认证&#xff0b;实名认证会有免费的算力资源&#xff0…...

LlamaIndex+本地部署InternLM实践

LlamaIndex本地部署InternLM实践 XTuner是一个调整模型参数的小工具,通过对于给定的大模型输入有限的参数来调整同类型问题的结果输出 ‌LlamaIndex‌是一个将大语言模型&#xff08;LLMs&#xff09;和外部数据连接在一起的工具&#xff0c;主要用于增强大模型的知识获取能力…...

3.12MayBeSomeJava

接受是否为负数&#xff0c;原双精度数&#xff0c;最大有效位数&#xff0c;固定显示位数 FD类里的把二进制数转为ASCII数&#xff0c;为CONVERT对象类型 然后调用CONVERT类里的舍入函数判断是否舍入 通过调用fdConverter的decimalDigitsExact方法&#xff0c;获取转换后的…...

前后端时间数据类型不一致如何解决

本文分析了前端和后端时间数据类型的不一致性&#xff0c;并提供了具体的解决方案。问题的根源是后端返回的时间数据类型与前端预期类型不一致&#xff0c;导致前端无法直接处理。后端采用Javatimestamp类型和MySQLdatetime类型存储时间&#xff0c;前端typescript定义createti…...

Czkawka:用Rust构建的开源存储清理工具全解析

Czkawka&#xff1a;用Rust构建的开源存储清理工具全解析 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 一、场景痛点&#xff1a;当代存储管理的…...

让老旧Mac焕发新生:OpenCore Legacy Patcher完整指南

让老旧Mac焕发新生&#xff1a;OpenCore Legacy Patcher完整指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 您的Mac是否被苹果官方"抛弃"&…...

2026年实测10款降AI工具:毕业论文降AIGC哪款最靠谱?

2026年毕业季临近&#xff0c;降低论文AI生成痕迹、通过学校AIGC检测已经成为所有毕业生的必过关卡。但当前降AI工具市场鱼龙混杂&#xff1a;不少用户花了高价处理&#xff0c;AI率却纹丝不动&#xff1b;还有的工具改完的论文语句生硬、逻辑混乱&#xff0c;反而过不了答辩。…...

TVBoxOSC:电视盒子全能播放解决方案终极指南

TVBoxOSC&#xff1a;电视盒子全能播放解决方案终极指南 【免费下载链接】TVBoxOSC TVBoxOSC - 一个基于第三方项目的代码库&#xff0c;用于电视盒子的控制和管理。 项目地址: https://gitcode.com/GitHub_Trending/tv/TVBoxOSC 你是否曾经为电视盒子播放视频时遇到格式…...

3大创新让OpenRocket成为开源工程工具的典范:从问题到实践的完整指南

3大创新让OpenRocket成为开源工程工具的典范&#xff1a;从问题到实践的完整指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket OpenRocket是一款基于Jav…...

Z-Image-GGUF模型量化与压缩教程:在低显存GPU上运行大模型

Z-Image-GGUF模型量化与压缩教程&#xff1a;在低显存GPU上运行大模型 想用AI生成图片&#xff0c;但一看模型大小和显存要求就头疼&#xff1f;手头只有一张8GB显存的消费级显卡&#xff0c;是不是就只能和那些功能强大的图像生成模型说再见了&#xff1f; 别急着放弃。今天…...

OptiScaler完全指南:让你的AMD/Intel显卡也能畅享DLSS级画质增强

OptiScaler完全指南&#xff1a;让你的AMD/Intel显卡也能畅享DLSS级画质增强 【免费下载链接】OptiScaler OptiScaler bridges upscaling/frame gen across GPUs. Supports DLSS2/XeSS/FSR2 inputs, replaces native upscalers, enables FSR3 FG on non-FG titles. Supports Nu…...

DAMO-YOLO实战:搭建教育科研AI视觉实验平台

DAMO-YOLO实战&#xff1a;搭建教育科研AI视觉实验平台 1. 教育科研中的AI视觉需求 在教育科研领域&#xff0c;视觉AI技术正成为重要的研究工具。传统计算机视觉实验平台往往面临部署复杂、性能有限、交互体验差等问题。DAMO-YOLO智能视觉探测系统为解决这些问题提供了创新方…...

基于宝塔面板与Docker Compose快速部署Dify最新版实战指南

1. 为什么选择宝塔Docker Compose部署Dify&#xff1f; 最近在帮几个创业团队搭建AI开发环境时&#xff0c;发现很多小伙伴都被复杂的部署流程劝退。传统的手动部署方式需要逐个安装Python、Redis、PostgreSQL等依赖&#xff0c;光是版本兼容问题就能折腾大半天。直到上个月我…...