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();
//执行SQL
int 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);
}
附带上我的数据库内容:
剩下的内容,大家可以在附属文件内学习。
本篇只是简单介绍,不具备权威