简单的CRUD(一)

2023-05-03,

一、JDBC的概述--(来源于百度)

  JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。

  JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。

  JDBC API提供了以下接口和类:

DriverManager: 这个类管理数据库驱动程序的列表。确定内容是否符合从Java应用程序使用的通信子协议正确的数据库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器将被用来建立数据库连接。

Driver: 此接口处理与数据库服务器通信。很少直接直接使用驱动程序(Driver)对象,一般使用DriverManager中的对象,它用于管理此类型的对象。它也抽象与驱动程序对象工作相关的详细信息

Connection : 此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过此唯一的连接对象。

Statement : 可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。

ResultSet: 这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,可以通过移动它来检索下一个数据。

SQLException: 这个类用于处理发生在数据库应用程序中的任何错误。

二、CRUD

  crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。

  crud主要被用在描述软件系统中数据库或者持久层(dao层)的基本操作功能。

三、实现简单的CRUD

1.实现条件

  1、jar包, mysql-connector-java-5.1.26-bin.jar

  2、数据库MySQL

2.具体代码

  1.dao层接口

 public interface ILoginUserDao {
/**
* 增加
* @param loginUser
*/
void save(LoginUser loginUser); /**
* 删除
* @param id
*/
void delete(Integer id); /**
* 更新
* @param loginUser
*/
void update(LoginUser loginUser); /**
* 查询
* @return
*/
List query();
}

  2.dao层实现

 public class LoginUserDao implements ILoginUserDao {
@Override
public void save(LoginUser loginUser) {
System.out.println("----save----");
// 首先加载jdbc实现类
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin");
// 3.创建编译语句
Statement statement = connection.createStatement();
// 4.执行sql语句
String sql = "INSERT INTO loginuser(username, password) VALUES ('王五', '6666')";
int i = statement.executeUpdate(sql);
// 5.释放资源
statement.close();
connection.close(); } catch (Exception e) {
e.printStackTrace();
}
} @Override
public void delete(Integer id) {
System.out.println("----delete----");
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin");
// 3.创建编译语句
Statement statement = connection.createStatement();
// 4.执行语句
String sql = "DELETE FROM loginuser WHERE id = 2";
int i = statement.executeUpdate(sql);
// 5.释放资源
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
} @Override
public void update(LoginUser loginUser) {
System.out.println("----update----");
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin");
// 3.创建编译语句
Statement statement = connection.createStatement();
// 4.执行sql语句
String sql = "UPDATE loginuser SET username = '王五', password = '55555' WHERE id = 1";
int i = statement.executeUpdate(sql);
// 5.释放资源
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
} @Override
public List query() {
System.out.println("----query----");
// new一个list集合对象
List<LoginUser> list = new ArrayList<>();
try {
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建链接
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/user", "root", "admin");
// 3.创建编译语句
Statement statement = connection.createStatement();
// 4.执行sql语句
String sql = "SELECT id, username, password FROM loginuser WHERE id > 4";
ResultSet resultSet = statement.executeQuery(sql);
// 取出查询内容
while (resultSet.next()) {
String username = resultSet.getString("username");
String password = resultSet.getString("password");
// 创建LoginUser对象
LoginUser loginUser = new LoginUser();
loginUser.setUsername(username);
loginUser.setPassword(password);
// 添加到集合
list.add(loginUser);
}
// 5.释放资源
resultSet.close();
statement.close();
connection.close(); } catch (Exception e) {
e.printStackTrace();
}
return list;
}
}

3.注意事项

  1、使用DriverManager获取连接.

  Connection conn = DriverManager.getConnection(String url,String user,String password);

  2、增加、删除、修改执行sql语句 statement.executeUpdate(sql) 使用的是 executeUpdate;

  而查询使用的是 executeQuery ==》ResultSet resultSet = statement.executeQuery(sql);

简单的CRUD(一)的相关教程结束。

《简单的CRUD(一).doc》

下载本文的Word格式文档,以方便收藏与打印。