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

ops/2024/11/8 22:28:47/

给入门的同学初步了解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

创建链接数据库的函数

java">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);}}}
}

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

测试文件:

java">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

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

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

时间正则表达式:

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

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

java"> 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.ppmy.cn/ops/132051.html

相关文章

【后端】javaweb过滤器Filter

过滤器Filter 实现敏感词、只能通过登录进入页面。 原理 当我们使用过滤器时&#xff0c;过滤器会对游览器的请求进行过滤&#xff0c;过滤器可以动态的分为3个部分&#xff0c;1.放行之前的代码&#xff0c;2.放行&#xff0c;3.放行后的代码&#xff0c;这3个部分分别会发挥…

批量将mysql的所有表都改成大写的存储过程

在MySQL中创建一个存储过程来批量将所有表名改为大写&#xff0c;可以按照以下步骤进行。请注意&#xff0c;由于MySQL的存储过程不能直接执行 RENAME TABLE 语句&#xff0c;我们需要使用动态SQL来实现这一功能。此外&#xff0c;我们还需要考虑事务处理&#xff0c;以确保操作…

【VScode】VScode内的ChatGPT插件——CodeMoss全解析与实用教程

在当今快速发展的编程世界中&#xff0c;开发者们面临着越来越多的挑战。如何提高编程效率&#xff0c;如何快速获取解决方案&#xff0c;成为了每位开发者心中的疑问。今天&#xff0c;我们将深入探讨一款颠覆传统编程体验的插件——CodeMoss&#xff0c;它将ChatGPT的强大功能…

C++ 二分法

二分法&#xff08;Binary Search&#xff09;是一种常用的查找算法&#xff0c;它通过将已排序的元素划分为两部分&#xff0c;然后通过比较目标值与划分点的大小关系&#xff0c;将查找范围缩小一半&#xff0c;从而快速地找到目标值。二分法的时间复杂度为O(logN)&#xff0…

剑指offer第五天

1.包含min函数的栈 一个比较简单的模拟栈的操作 class Solution { public:void push(int value) {st[op] value;}void pop() {if(op)op--;}int top() {return st[op-1];}int min() {int mi 10001;for(int i 0;i<op;i)mi std::min(mi,st[i]);return mi;} private:int s…

ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS

ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS 参考 Ubuntu 配置/etc/fstab参数实现开机自动挂载硬盘 https://blog.csdn.net/u010632165/article/details/89597522 blkid /dev/sda /dev/sda: UUID“91061d36-5043-4b9f-a616-ac934503962c” BLOCK_SIZE“4096”…

打印菱形(C语言)

程序&#xff1a; #include <stdio.h> int main() { int i,j; for(i1;i<5;i){ for(j0;j<6-i;j){ printf(" ");} for(j0;j<i*2-1;j){ printf("*");} printf("\n");} …

DBA之路,始于足下

DBA之路&#xff0c;始于足下 与DBA的缘分工作一年的体会未来的规划 与DBA的缘分 我以前从来没有想过会成为一名DBA。从进入研究生开始&#xff0c;我就已经给自己规划好了找工作的学习路线-Java开发工程师。我从算法、项目、八股、面试等各个方面展开准备&#xff0c;所有的面…