国际设计师网站有哪些,做网站简约学校网站,北京彩页设计制作,凡科网怎么做网站JDBC介绍 JDBC #xff08; Java Data Base Connectivity #xff09; 是一 种 Java 访问 数据库 的技术#xff0c;它提供 执行 SQL 语句的 Java API #xff0c;由 一组 类 和接口组成#xff0c;可以为 不同的 数据库提供统一访问 JDBC工作原理 JDBC应用编程
1、准备…
JDBC介绍 JDBC Java Data Base Connectivity 是一 种 Java 访问 数据库 的技术它提供 执行 SQL 语句的 Java API 由 一组 类 和接口组成可以为 不同的 数据库提供统一访问 JDBC工作原理 JDBC应用编程
1、准备工作 安装 MySQL 创建数据库 ( db ) 及表 (user) 的结构、插入一条数据可借助工具 项目中引入连接 MySQL 的 JDBC 驱动 Jar 文件。 不同版本的 MySQL 其 JDBC 驱动文件不同。 在 MyEclipse 的数据库浏览器视图 下可视化方式创建 MySQL 数据库的连接。 这一步不是 必需的 也可使用 navicat for MySQL 等工具 。但是创建 连接的 作用是 JDBC 编程需要 使用这些连接参数 2、JDBC编程步骤
1注册JDBC驱动程序
Class.forName(com.mysql.jdbc.Driver);
或者DriverManager.registerDriver(new com.mysql.jdbc.Driver()); Class.forName () 方法是要求 JVM 查找并加载指定的类到内存 中 MySQL 5.6/5.7 的 JDBC 驱动 类 com.mysql.jdbc.Driver MySQL 8.0 的驱动类 com.mysql.cj.jdbc.Driver 2建立数据库连接Connection
String urljdbc:mysql://localhost:3306/db;
String userroot;
String passwordmysqladmin;
Connection connDriverManager.getConnection(url, user, password); Connection 是 java.sql 包中的一个接口 通过调用 DriverManager 的静态方法 getConnection 可以创建 Connection 对象 3创建并执行SQL语句Statement实际应用我们用的是PreparedStatement
Statement stmtconn.createStatement(); //conn为上一步创建的连接
String sqlselect * from user;
ResultSet rsstmt.executeQuery(sql); Connection 接口的 createStatement () 用于创建语句 Statement Statement 接口的 executeQuery (String sql ) 方法用于执行 sql 查询返回值为 ResultSet 接口类型。 4处理执行结果集ResultSet
while(rs.next()){ //rs为上一步返回的结果集 String namers.getString(username); String passrs.getString(password); System.out.printf(用户名%s,口令%s\n,name,pass);
} 结果集的 next() 方法返回一个 boolean 值 没有到达记录末尾时 返回 true 否则返回 false 。 结果集的getString(String columnLabel) 该方法根据表中的列名获取当前记录指定列的值
5释放资源
rs.close(); //关闭结果集
stmt.close(); //关闭语句
conn.close(); //关闭连接 关闭资源的顺序是先 关闭结果 集再 关闭 语句最后 关闭 连接后创建的先关闭。与创建的顺序相反 JDBC实现增加、删除和修改操作
开发工具myeclipse2014、MySQL8.0【MySQL】MySQL8.0安装教程 https://blog.csdn.net/Trista_1999/article/details/132678207
文件结构 User类
package javabean;public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}
}
UserDAO类实现数据库连接和增删改查
package javabean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class UserDAO {//查询public static ListUser searchAll() throws ClassNotFoundException, SQLException{ListUserusersnew ArrayList();//注册JDBC驱动程序Connection conn getConnection();//创建并执行SQL语句PreparedStatementString sqlselect* from user;PreparedStatement psconn.prepareStatement(sql);ResultSet rs ps.executeQuery();//处理执行结果集ResultSetwhile(rs.next()){String username rs.getString(username);String password rs.getString(password);User usernew User();user.setUsername(username);user.setPassword(password);users.add(user);}//释放资源rs.close();ps.close();conn.close();return users;}//getConnection函数注册JDBC驱动程序并建立数据库连接Connectionprivate static Connection getConnection() throws ClassNotFoundException,SQLException {//注册JDBC驱动程序Class.forName(com.mysql.cj.jdbc.Driver);String urljdbc:mysql://localhost:3306/db;//建立数据库连接ConnectionConnection connDriverManager.getConnection(url, root, root);return conn;}//添加public boolean add(User user) throws SQLException, ClassNotFoundException{Connection conn getConnection();String sqlinsert into user(username,password) values (?,?);PreparedStatement psconn.prepareStatement(sql);ps.setString(1, user.getUsername());ps.setString(2, user.getPassword());System.out.print(sql);int resps.executeUpdate();ps.close();conn.close();return res1;}//更新public boolean update(User user) throws SQLException, ClassNotFoundException{Connection conn getConnection();String sqlupdate user password? where username?;PreparedStatement psconn.prepareStatement(sql);ps.setString(1, user.getPassword());ps.setString(2, user.getUsername());System.out.print(sql);int resps.executeUpdate();ps.close();conn.close();return res1;}//删除public boolean delete(String username) throws SQLException, ClassNotFoundException{Connection conn getConnection();String sqldelete from user where username?;PreparedStatement psconn.prepareStatement(sql);ps.setString(1, username);System.out.print(sql);int resps.executeUpdate();ps.close();conn.close();return res1;}}