给入门的同学初步了解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);}
附带上我的数据库内容:
剩下的内容,大家可以在附属文件内学习。
本篇只是简单介绍,不具备权威