西部数据网站管理助手,公众号怎么建立,深圳全网营销哪里好,稳定的手机网站设计在WSL下搭建JavaWeb: JDBC学习环境
前言
笔者最近打算放松一下#xff0c;接触一点经典的Java Web技术#xff0c;自己在闲暇时间时玩一玩JavaWeb技术。这里开一个小系列整理一下最近学习的东西#xff0c;以供参考和学习。
笔者的计划是使用VSCode写代码#xff…在WSL下搭建JavaWeb: JDBC学习环境
前言
笔者最近打算放松一下接触一点经典的Java Web技术自己在闲暇时间时玩一玩JavaWeb技术。这里开一个小系列整理一下最近学习的东西以供参考和学习。
笔者的计划是使用VSCode写代码使用的是Java21仓库管理因为之前小小的接触过Gradle感觉它实在是太重太重了没啥兴趣。所以决定采用Maven来管理项目。这篇博客也是记录一下如何搞这个小事情。当然笔者喜欢在WSL或者是Linux下写代码。因此我使用的是Ubuntu24.04的WSL镜像。
由于是侧重于JDBC我使用的是Mariadb这个开源的数据库。这里的教程的大致步骤是如下的
安装 MariaDB或远程服务器可访问安装 JDK21使用Maven管理和添加我们的项目
最基础的环境安装
关于VSCodeWSL的安装笔者认为互联网上已经满大街的教程这里不浪费口舌了。
Mariadb安装
Mariadb安装
安装Mariadb还是很简单的
sudo apt update
sudo apt install mariadb-server一般而言我们最好执行安全配置脚本这样的话我们的数据库才会安全一些
sudo mysql_secure_installation按照提示设置 root 密码、删除匿名用户、禁止远程 root 登录、删除 test 数据库等。
登录 MariaDB 并测试
sudo mariadb -u root -p首次如果没有设置密码可以不加 -p 登录之后再设置
ALTER USER rootlocalhost IDENTIFIED BY your_new_password;
FLUSH PRIVILEGES;your_new_password注意换成自己的密码奥
准备一个超级简单的数据库备用可放到后面写JavaWeb代码的时候再说
这里就发挥自己的SQL语句水平就好
CREATE DATABASE webapp_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER webuserlocalhost IDENTIFIED BY webpass;
GRANT ALL PRIVILEGES ON webapp_db.* TO webuserlocalhost;
FLUSH PRIVILEGES; 这将创建一个名为 webapp_db 的数据库并允许 webuser 用户以密码 webpass 访问它。
安装Java
我们使用的是Java安装java-jdk就好了
sudo apt update
sudo apt install openjdk-21-jdk 为了检查自己的环境问题你可以尝试一下检查版本
java --version
javac --version 安装过后如果版本没问题我们的结果会是这样的
charliechenCharliechen:~/javaee/jdbc$ java --version
openjdk 21.0.7 2025-04-15
OpenJDK Runtime Environment (build 21.0.76-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 21.0.76-Ubuntu-0ubuntu124.04, mixed mode, sharing)
charliechenCharliechen:~/javaee/jdbc$ javac --version
javac 21.0.7使用Maven创建基本的工具
可能有朋友不太熟悉Maven一句简单的话就是相当于项目管理器Maven会托管你的项目的依赖和版本等等保证一定的可移植性。
我们这里在VSCode下载Java和Maven的插件Extension Pack for Java之后我们摁住Ctrl Shift P选择Java创建项目有可能是英文我相信看我博客朋友的英文水平好吧如果真不知道的话是Create Java Projects选择使用Maven创建项目模板笔者认为无伤大雅随意选择后。我们的项目描述文件放在一个XML描述文件里了。这里我们首先需要把Java的版本修正对 propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source21/maven.compiler.sourcemaven.compiler.target21/maven.compiler.target/properties 在dependencies的节点下追加 dependencygroupIdorg.mariadb.jdbc/groupIdartifactIdmariadb-java-client/artifactIdversion3.3.1/version/dependency 这个就是Mariadb的JDBC驱动器我们使用这个小玩意来作为JDBC接口的实际实现。然后我们可以开始写代码测试一下
package com.example;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/*** Hello world!**/
public class App
{public static void main( String[] args ){String databases_name my_first_db;// 这个是字符串的格式我偷懒了没用format不太规范// jdbc:mariadb:是协议命这是JDBC驱动的规范以及如果你是使用其他的数据库// mariadb就需要换成别的比如说mysql数据库换成mysqlString url jdbc:mariadb://localhost:3306/ databases_name;System.out.println(Connecting to databases: url);String user charliechen; // 这个是我自己的数据库用户名String passwd passwd; // 换成你自己的try{Connection connection DriverManager.getConnection(url, user, passwd);Statement processing_statement connection.createStatement();ResultSet rs processing_statement.executeQuery(SELECT id, name FROM users);while(rs.next()){// 这里我们将会依次得到结果int id rs.getInt(id);String name rs.getString(name);System.out.printf(ID: %d Name: %s\n, id, name);}rs.close();processing_statement.close();connection.close();}catch(Exception e){e.printStackTrace();}}
} 编写完代码我们的事情是尝试去运行一下
编译
mvn compile
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------- com.example:jdbc_example ----------------------
[INFO] Building jdbc_example 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) jdbc_example ---
[INFO] Using UTF-8 encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/charliechen/javaee/jdbc/jdbc_example/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) jdbc_example ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /home/charliechen/javaee/jdbc/jdbc_example/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.062 s
[INFO] Finished at: 2025-06-25T08:43:0008:00
[INFO] ------------------------------------------------------------------------ 运行
mvn exec:java -Dexec.mainClasscom.example.App
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------- com.example:jdbc_example ----------------------
[INFO] Building jdbc_example 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- exec-maven-plugin:3.5.1:java (default-cli) jdbc_example ---
Connecting to databases: jdbc:mariadb://localhost:3306/my_first_db
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.
ID: 1 Name: Alice
ID: 2 Name: Bob
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.071 s
[INFO] Finished at: 2025-06-25T08:41:3708:00
[INFO] ------------------------------------------------------------------------