当前位置: 首页 > 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;获取转换后的…...

Python实战:构建个人古诗知识库,从古诗文网高效采集与存储

1. 为什么你需要一个古诗知识库&#xff1f; 作为一个诗词爱好者&#xff0c;我经常遇到这样的困扰&#xff1a;读到一首好诗想收藏&#xff0c;结果过几天就忘了出处&#xff1b;想查找某个主题的诗句&#xff0c;却记不清具体内容&#xff1b;看到喜欢的诗人作品&#xff0c;…...

Linux dmesg实战指南:从内核消息解析到故障排查(附实用技巧与常见问题)

1. 初识dmesg&#xff1a;你的Linux系统健康检查仪 刚接触Linux系统管理时&#xff0c;我总把dmesg当成"高级版系统日志"。直到有次服务器突然宕机&#xff0c;才发现这个命令简直就是系统故障的"黑匣子"。想象一下&#xff0c;当你的电脑突然蓝屏&#xf…...

Pencil原型工具全攻略:从环境搭建到高级配置

Pencil原型工具全攻略&#xff1a;从环境搭建到高级配置 【免费下载链接】pencil DEPRECATED: Multiplatform GUI Prototyping/Wireframing 项目地址: https://gitcode.com/gh_mirrors/pen/pencil Pencil原型工具&#xff1a;开源价值定位与核心特性解析 核心价值&…...

UDOP-large算力优化:FP16推理+FlashAttention加速UDOP-large响应速度

UDOP-large算力优化&#xff1a;FP16推理FlashAttention加速UDOP-large响应速度 1. 为什么你的UDOP-large模型跑得不够快&#xff1f; 如果你用过UDOP-large这个文档理解模型&#xff0c;可能会发现一个问题&#xff1a;处理文档图片的时候&#xff0c;有时候响应速度不够理想…...

nli-distilroberta-base参数解析与调优指南:关键配置项详解

nli-distilroberta-base参数解析与调优指南&#xff1a;关键配置项详解 1. 引言 如果你正在使用nli-distilroberta-base模型进行自然语言推理任务&#xff0c;可能会遇到这样的困惑&#xff1a;为什么同样的模型在不同机器上运行速度差异这么大&#xff1f;为什么有时候推理结…...

从CFG到PDG:5个真实案例解析程序依赖图在安全审计中的应用

从CFG到PDG&#xff1a;5个真实案例解析程序依赖图在安全审计中的应用 在软件安全领域&#xff0c;漏洞检测的精准度往往取决于代码分析的深度。传统控制流图&#xff08;CFG&#xff09;虽然能描绘执行路径&#xff0c;却难以捕捉数据流转的潜在风险。程序依赖图&#xff08;P…...

保姆级教程:用CST 2023的RLC求解器搞定空心电感仿真(附网格优化技巧)

从零到精通的CST空心电感仿真实战指南&#xff1a;RLC求解器与网格优化全解析 在电磁兼容设计和高频电路开发中&#xff0c;空心电感作为无磁芯干扰的理想元件&#xff0c;其精确建模一直是工程师的痛点。传统手工计算难以应对复杂的高频效应&#xff0c;而商业仿真软件的门槛…...

3步搞定大麦网自动抢票:告别手速不够的时代

3步搞定大麦网自动抢票&#xff1a;告别手速不够的时代 【免费下载链接】Automatic_ticket_purchase 大麦网抢票脚本 项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase 还在为抢不到心仪演唱会门票而烦恼吗&#xff1f;当周杰伦、五月天等热…...

Graphormer企业级应用:制药公司分子筛选流水线中的轻量部署实践

Graphormer企业级应用&#xff1a;制药公司分子筛选流水线中的轻量部署实践 1. 项目背景与价值 在药物研发领域&#xff0c;分子筛选是耗时耗力的关键环节。传统实验方法需要数月时间才能完成数千种化合物的性质测试&#xff0c;而基于AI的分子属性预测技术可以将这一过程缩短…...

基于Xinference-v1.17.1的嵌入式Linux开发指南

基于Xinference-v1.17.1的嵌入式Linux开发指南 1. 引言 嵌入式设备上的AI推理一直是个技术挑战&#xff0c;特别是在资源受限的环境中部署大模型。Xinference-v1.17.1作为一个开源推理框架&#xff0c;为嵌入式Linux系统提供了轻量级的AI模型部署方案。无论你是想在树莓派上运…...