JAVA:数据库(mysql)编程初步学习\JDBC(附带项目文件)

给入门的同学初步了解JDBC,本人学疏才浅也希望可以给新人启发,编程的函数比较简单没有用更多库,方便给新人一个舒适的理解

tips:附带编程全套的代码,欢迎大家自由使用,仅供学习!

(文件代码几千行,纯个人写入,大家用了点点赞吧)

实验环境:

        win11:22H2

        JDK:18

        idea:2023

        JDBC:8.0.33

        mysql:9

        可视化sql:Navicat 17

        其它依赖(附加,可以不管--除非使用网络编程的模块在ip_add中)

Maven(不可以直接复制,只是列出使用的版本和环境依赖库等):

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion>
 <dependencies><!-- Gson dependency --><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20200518</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><dependency><groupId>org.lionsoul</groupId><artifactId>ip2region</artifactId><version>2.7.0</version></dependency></dependencies>

基本使用

1.引入sql库

创建链接数据库的函数

package connect;import java.sql.*;
public class JDBC {public JDBC(){}public static Connection use_connecting() throws ClassNotFoundException, SQLException {Class.forName("com.mysql.cj.jdbc.Driver");String url="jdbc:mysql://localhost:3306/pla";String name="root";String passwords="1234**56***";return DriverManager.getConnection(url,name,passwords);}public static  void close_to_connect(Connection conn,PreparedStatement pst,ResultSet rs){if(conn!=null){try {conn.close();} catch (SQLException e) {throw new RuntimeException(e);}}if (pst!=null){try {pst.close();} catch (SQLException e) {throw new RuntimeException(e);}}if (rs!=null){try {rs.close();} catch (SQLException e) {throw new RuntimeException(e);}}}
}

这个方法返回一个链接对象:

测试文件:

package try_to_do;import java.sql.*;public class test {public static void main(String[] args) throws  Exception {Class.forName("com.mysql.cj.jdbc.Driver");//获取驱动//获取连接String url="jdbc:mysql://localhost:3306/try_to_do.test";String name="root";String password="123456";Connection conn = DriverManager.getConnection(url,name,password);//SQL命令String sql = "update try_to_do.test set age = 21 where id = 1";//命令对象Statement stmt = conn.createStatement();//执行SQLint count  = stmt.executeUpdate(sql);//i 为命令影响的行数//处理结果System.out.println(count);//释放资源stmt.close();conn.close();}}

另一种(文件里面有)

tips:结构化的完成项目更方便完成

专门连接数据库的,装对象类的,主函数的,其他模块的,接口一类,实现一类,Maven单独放一处,lib放一处

实例(文章附属文件):做一个有用户登录的购票系统,cmd进行i/o

注意点:用户的操作输入,一般为字符串,判断是否合法再转换为对应的类型操作

--使用的方法之一:正则表达式

时间正则表达式:

    private static final Pattern TIME_PATTERN = Pattern.compile("^([01]?\\d|2[0-3]):[0-5]?\\d:[0-5]?\\d$");

数字在一个范围的正则表达式(字符串输入):

 private boolean isValidPosition(int lie, int hang, int maxRows) {return lie >= 1 && lie <= 6 && hang >= 1 && hang <= maxRows;}private boolean isNumeric(String str) {return Pattern.matches("\\d+", str);}

附带上我的数据库内容:

剩下的内容,大家可以在附属文件内学习。

本篇只是简单介绍,不具备权威

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/2062.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

网页上视频没有提供下载权限怎么办?

以腾讯会议录屏没有提供下载权限为例&#xff0c;该怎么办呢&#xff1f; 最好的办法就是找到管理员&#xff0c;开启下载权限。如果找不到呢&#xff0c;那就用这个办法下载。 1.打开Microsoft Edge浏览器的扩展 2.搜索“视频下载”&#xff0c;选择“视频下载Pro” 3.点击“…

第15课 算法(下)

掌握冒泡排序、选择排序、插入排序、顺序查找、对分查找的的基本原理&#xff0c;并能使用这些算法编写简单的Python程序。 一、冒泡排序 1、冒泡排序的概念 冒泡排序是最简单的排序算法&#xff0c;是在一列数据中把较大&#xff08;或较小&#xff09;的数据逐次向右推移的…

USB摄像头使用V4L2采集图像\视频

背景 V4L2&#xff08;Video for Linux Two&#xff09;是Linux内核自带的一部分&#xff0c;专门用于处理视频设备的管理和控制。‌ V4L2框架提供了统一的API和抽象层&#xff0c;使得开发者可以编写通用的视频驱动程序&#xff0c;同时使用户空间的应用程序能够轻松地访问和…

栈和队列(三)

队列的链式存储表示和实现 链队的类型定义 typedef struct qnode{char data;struct qnode *next; }qnode,*queneptr;typedef struct{queneptr front;queneptr rear; }linkqueue; typedef struct qnode{}&#xff1a; 定义了一个名为qnode的结构体。结构体成员包括&#xff1a…

vmvare启动freebsd操作系统密码忘记了怎么办?

本章教程,主要介绍,通过vmvare安装的freebsd操作系统,密码忘记了,如何重置密码。 一、重启虚拟机 在重启过程中,按键盘中是数字2,进入单用户模式。 二、进入到shell界面 在出现“Enter full pathname of shell or RETURN for /bin/sh:”直接按回车键。 三、输入命令 mou…

设计模式之结构型模式---装饰器模式

目录 1.概述2.类图3.应用场景及优缺点3.1 应用场景3.2 优缺点3.2.1 优点3.2.2 缺点 4.实现4.1 案例类图4.2 代码实现4.2.1 定义抽象构建角色4.2.2 定义具体构建角色4.2.3 定义抽象装饰器角色4.2.4 定义具体装饰角色4.2.5 装饰器模式的使用 1.概述 装饰器模式是指在不改变现有对…

SQL,力扣题目1709,访问日期之间最大的空档期

一、力扣链接 LeetCode_1709 二、题目描述 表&#xff1a; UserVisits ------------------- | Column Name | Type | ------------------- | user_id | int | | visit_date | date | ------------------- 该表没有主键&#xff0c;它可能有重复的行 该表包含用户访问…

极市平台 | NeurIPS 2024|浙大/微信/清华提出:彻底解决扩散模型反演问题

本文来源公众号“极市平台”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;NeurIPS 2024&#xff5c;浙大/微信/清华提出&#xff1a;彻底解决扩散模型反演问题 极市导读 本文介绍了浙江大学、微信和清华大学联合提出的BELM算法…

心觉:人每日60000念头,如何让你的时间精力只专注于核心目标?

Hi&#xff0c;我是心觉&#xff0c;带你用潜意识化解各种焦虑、内耗&#xff0c;建立无敌自信&#xff1b;教你财富精准显化的实操方法&#xff1b;关注我,伴你一路成长&#xff01; 每日一省写作220/1000天 据说一个人每天会产生60000个念头 有些我们的意识能察觉到&#x…

89.冒泡算法(代码编写)

目录 一.代码编写 二.视频教程 一.代码编写 #include <stdio.h>void main(void) {int data[10];int j,i;int temp;printf("Please input data:\n");for(i0;i<10;i){scanf("%d",&data[i]);}for(i0;i<10;i){for(j0;j<9-i;j){if(data[j…

SQL CASE表达式与窗口函数

CASE 表达式是一种通用的条件表达式&#xff0c;类似于其他编程语言中的if/else语句。 窗口函数类似于group by&#xff0c;但是不会改变记录行数&#xff0c;能扫描所有行&#xff0c;能对每一行执行聚合计算或其他复杂计算&#xff0c;并把结果填到每一行中。 1 CASE 表达式…

ubuntu22-安装vscode-配置shell命令环境-mac安装

文章目录 1.安装vscode2.修改语言为中文3.配置bash调试环境3.1.安装插件3.2.添加配置文件 4.调试bash4.1.新建tmp.sh文件4.2.运行启动 5.mac安装6.mac卸载 1.安装vscode 从官网下载安装包Code_1.93.1-1726079302_amd64.deb。 在ubuntu系统中&#xff0c;安装包所在目录打开命令…

Chromium127编译指南 Linux篇 - 同步第三方库以及Hooks(六)

引言 在成功克隆 Chromium 源代码仓库并建立新分支之后&#xff0c;配置开发环境成为至关重要的下一步。这一过程涉及获取必要的第三方依赖库以及设置钩子&#xff08;hooks&#xff09;&#xff0c;这些步骤对于确保后续的编译和开发工作能够顺利进行起着决定性作用。本指南旨…

【NOIP提高组】虫食算

【NOIP提高组】虫食算 C语言C &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 所谓虫食算&#xff0c;就是原先的算式中有一部分被虫子啃掉了&#xff0c;需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子&#xff1a; 43#98…

练习LabVIEW第三十题

学习目标&#xff1a; 刚学了LabVIEW&#xff0c;在网上找了些题&#xff0c;练习一下LabVIEW&#xff0c;有不对不好不足的地方欢迎指正&#xff01; 第三十题&#xff1a; 用labview写一个获取当前系统时间的程序 开始编写&#xff1a; 前面板添加一个字符串显示控件&am…

书生大模型实战营 L0 入门岛

书生大模型训练营入门岛任务——训练营链接 1. Linux前置知识 任务&#xff1a;端口转发 当使用vscode远程连接服务器时&#xff0c;在服务器运行的任务&#xff0c;vscode会自动帮忙进行端口映射&#xff0c;方便本地进行访问。 2. Python前置知识 任务1&#xff1a;Leec…

【本科毕业设计】基于单片机的智能家居防火防盗报警系统

基于单片机的智能家居防火防盗报警系统 源码下载摘要Abstract第1章 绪论1.1课题的背景1.2 研究的目的和意义 第2章 系统总体方案设计2.1 设计要求2.2 方案选择和论证2.2.1 单片机的选择2.2.2 显示方案的选择 第3章 系统硬件设计3.1 整体方案设计3.1.1 系统概述3.1.2 系统框图 3…

<项目代码>YOLOv8 猫狗识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

前端项目使用高德地图插件

高德开放平台 | 高德地图API 1、注册成为开发者 登录 高德开放平台控制台&#xff0c;如果没有开发者账号&#xff0c;请 注册开发者。 2. 创建key&#xff0c;项目里面要用 进入应用管理&#xff0c;创建新应用&#xff0c;新应用中添加 key&#xff0c;服务平台选择 Web端…

统信UOS开发环境支持php

UOS对PHP开发环境提供了灵活的选择,在这里开发者可以轻松搭建开发环境,是开发者最理想的选择。 文章目录 一、环境部署php开发环境安装二、代码示例PHP开发案例三、常见问题1. 权限问题2. PHP-FPM服务未正确启动或配置错误一、环境部署 php开发环境安装 php为服务器开发语言…