数据库连接方法 和数据库操作方法
- 数据库连接方法 getConnection()
实现原理概述
在 Java 中,要与数据库进行交互,首先需要建立数据库连接。getConnection() 方法的主要作用就是获取一个与数据库的连接对象(java.sql.Connection)。一般来说,获取数据库连接的步骤如下:
加载数据库驱动:通过 Class.forName() 方法加载数据库驱动类,不同的数据库有不同的驱动类。
获取连接:使用 DriverManager.getConnection() 方法,传入数据库的 URL、用户名和密码,返回一个 Connection 对象。
代码
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Dao { // 数据库连接信息 private static final String URL = "jdbc:mysql://localhost:3306/your_database_name"; private static final String USER = "your_username"; private static final String PASSWORD = "your_password"; public static Connection getConnection() { Connection connection = null; try { // 加载数据库驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 获取数据库连接 connection = DriverManager.getConnection(URL, USER, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } }
数据库连接信息:URL 是数据库的地址,USER 和 PASSWORD 是登录数据库的用户名和密码。
加载驱动:Class.forName("com.mysql.cj.jdbc.Driver") 加载 MySQL 数据库的驱动类。
获取连接:DriverManager.getConnection(URL, USER, PASSWORD) 根据数据库的 URL、用户名和密码获取数据库连接。 - 用户相关的数据库操作方法
index() 方法
假设 index() 方法用于查询所有用户信息。
SQL 语句:SELECT * FROM users 用于查询 users 表中的所有记录。
Java 代码实现:通过 Statement 对象执行 SQL 查询,使用 ResultSet 对象处理查询结果,将每条记录封装成 User 对象并添加到 List 中。
registe() 方法
假设 registe() 方法用于用户注册,即向 users 表中插入一条新记录。
SQL 语句:INSERT INTO users (username, password) VALUES (?, ?) 用于向 users 表中插入一条新记录,? 是占位符。
Java 代码实现:使用 PreparedStatement 对象可以防止 SQL 注入攻击,通过 setString() 方法设置占位符的值,执行 executeUpdate() 方法插入记录。
adduser() 方法
假设 adduser() 方法与 registe() 方法功能类似,也是用于添加用户。
SQL 语句:INSERT INTO users (username, password) VALUES ('" + username + "', '" + password + "') 直接将用户名和密码拼接成 SQL 语句。
Java 代码实现:使用 Statement 对象执行 SQL 语句,执行 executeUpdate() 方法插入记录。需要注意的是,这种方式存在 SQL 注入风险,建议使用 PreparedStatement。
本文作者:zyh-828
本文链接:https://www.cnblogs.com/zyh-828/p/18724278/2025-1-16
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步