JDBC查询案例

1、封装

javabean/实体类

Persion{

属性

方法

}

让属性不可以直接获取,得到方法(get/set)得到

封装的时候针对的是表,所以我们的实体类的所有的属性都要和表中的字段对应

回忆(*****):

集合:存储各种数据类型。

List常用,存放对象add();集合的对象读

结果集存储

List<user> list = new ArrayList<user>();

while (resultSet.next()){

// System.out.println(resultSet.getObject("id"));

// System.out.println(resultSet.getObject("username"));

// System.out.println(resultSet.getObject("password"));

// System.out.println(resultSet.getObject("nickname"));

user user = new user();

user.setId(resultSet.getInt("id"));

user.setUsername(resultSet.getString("username"));

user.setPassword(resultSet.getString("password"));

user.setNickname(resultSet.getString("nickname"));

list.add(user);

}

结果集读取

//循环打印

for (user u:list){

System.out.println(u.toString());

}

//迭代方式打印

Iterator<user> iterator = list.iterator();

while (iterator.hasNext()){

user next = iterator.next();

System.out.println(next);

}

代码 user_ bean;

package com.ww.jdbc_demo_01.javabean;

public class user {

//将所有的属性私有化

private int id ;

private String username;

private String password;

private String nickname;

//为了产生实体类对象,构造方法必须有无参和全参

public user() {

}

public user(int id, String username, String password, String nickname) {

this.id = id;

this.username = username;

this.password = password;

this.nickname = nickname;

}

//想要存储属性的值,通过get/set方法

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

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;

}

public String getNickname() {

return nickname;

}

public void setNickname(String nickname) {

this.nickname = nickname;

}

//@Override注解

@Override

public String toString() {

return "user{" +

"id=" + id +

", username='" + username + '\'' +

", password='" + password + '\'' +

", nickname='" + nickname + '\'' +

'}';

}

}

  1. 操作数据库(CRUD)增删改查

1.1 、单元测试 (属于第三方工具 所以得导入jar包)

JUnit 导入依赖

在测试添加@Test注解

导入依赖

<dependency>-->

<!-- <groupId>junit</groupId>-->

<!-- <artifactId>junit</artifactId>-->

<!-- <version>4.13.1</version>-->

<!-- <scope>test</scope>-->

<!-- </dependency>-->

代码展示:

//可执行标记相当于main

// 一个类可以有多个执行接口

// @Test

{

System.out.println("单元测试");

}

// @Test

public void select(){

}

1.2要想完成增删改查 CRUD

步骤:

加载驱动

获取连接

创建SQL执行对象(CRUD+)

执行SQL

释放资源

//增加,修改,删除

//增加测试

// @Test

public void insertuser() throws ClassNotFoundException, SQLException {

//加载驱动

String insert_sql = "insert into user values(null,'zhangge','z123546','张三')";

String url ="jdbc:mysql://localhost:3306/ooo";

String username = "root";

String password = "123456";

//创建连接

Class.forName("com.mysql.cj.jdbc.Driver");

Connection connection = DriverManager.getConnection(url, username, password);

Statement statement = connection.createStatement();

statement.executeUpdate(insert_sql);

statement.close();

connection.close();

}

public void updateuser() throws ClassNotFoundException, SQLException {

String update_sql= "update user set nickname = '李素' where id = 4 ";

String url ="jdbc:mysql://localhost:3306/ooo";

String username = "root";

String password = "123456";

//创建连接

Class.forName("com.mysql.cj.jdbc.Driver");

Connection connection = DriverManager.getConnection(url, username, password);

Statement statement = connection.createStatement();

statement.executeUpdate(update_sql);

statement.close();

connection.close();

}

public void deleteuser() throws ClassNotFoundException, SQLException {

String delete_sql = "delete form user where id = 4 ";

String url = "jdbc:mysql://localhost:3306/ooo";

String username = "root";

String password = "123456";

//创建连接

Class.forName("com.mysql.cj.jdbc.Driver");

Connection connection = DriverManager.getConnection(url, username, password);

Statement statement = connection.createStatement();

statement.executeUpdate(delete_sql);

statement.close();

connection.close();

}

相关推荐
GeW25 分钟前
制造强国底座:Linux与数据库驱动的新型工业基础设施
linux
xiaoye-duck39 分钟前
《Linux 网络编程》深入理解 IO 多路复用:select 函数详解与 Echo 服务实战
linux·网络
Tairitsu_H1 小时前
[Linux系统] 命令行参数 | 环境变量 | 程序地址空间
linux·环境变量·命令行参数·程序地址空间
雯宝1 小时前
devices_init / buses_init / classes_init / firmware_init / hypervisor_init 函数
linux
赵文宇(温玉)1 小时前
怎么下载 Windows 的 ISO 系统镜像
windows
M78佐菲2 小时前
ARM学习笔记(12)
linux·arm开发·笔记·嵌入式硬件·学习
可涵不会debug2 小时前
C++ std::bind 实战教程:线程池、回调场景全覆盖
linux·开发语言·c++
青梅味猪大肠3 小时前
【操作系统-26】进程互斥软件实现-Peterson算法
linux·运维·服务器
2601_962177303 小时前
Windows 安装 Codex CLI 入门级教程
人工智能·windows·node.js·ai编程
wdfk_prog4 小时前
Wi-Fi Direct教程 01:在 Ubuntu 搭建双 mac80211_hwsim + wpa_supplicant 2.12
linux·运维·服务器·ubuntu·ros·wifi-direct