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();

}

相关推荐
不总是12 小时前
[2026最新] Windows 免安装版 MySQL 8 详细安装配置教程(ZIP 压缩包版)
数据库·windows·mysql
扛枪的书生12 小时前
Keepalived 学习总结
linux
❀搜不到12 小时前
Ubuntu查看指定Python程序的CPU、GPU、内存占用情况
linux·python·ubuntu
高速上的乌龟12 小时前
Lattice LFCPNX-100 HSB+Fpga开发详解:2.3 Hololink 顶层模块深度全解析
linux·fpga开发
2401_8769641312 小时前
27考研余炳森概率论|喻老李良2027资料网课
windows·git·考研·svn·eclipse·github·概率论
介一安全13 小时前
【漏洞学习】PHP+Windows环境通用文件上传漏洞深度剖析
windows·web安全·php·文件上传·安全性测试
思麟呀13 小时前
C++工业级日志项目(六)异步日志器
linux·c++·windows
s_w.h13 小时前
【 linux 】文件系统
linux·运维·服务器·算法·bash
fastjson_13 小时前
Win11 关闭拖动窗口自动出现的贴靠窗口分栏
windows
都在酒里14 小时前
Linux字符设备驱动开发(七):输入子系统——驱动GPIO按键并上报事件
linux·驱动开发·交互