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

}

相关推荐
keep__go1 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求1 小时前
Linux中给普通账户一次性提权
linux·运维·服务器
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
大熊程序猿1 小时前
ubuntu 安装kafka-eagle
linux·ubuntu·kafka
daizikui3 小时前
Linux文件目录命令
linux·运维·服务器
NikitaC3 小时前
ldconfig 和 LD_LIBRARY_PATH 区别
linux·c++
清源妙木真菌3 小时前
Linux:进程概念
linux
许嵩664 小时前
IC 脚本之VIM 记录
linux·编辑器·vim
天幕繁星4 小时前
docker desktop es windows解决vm.max_map_count [65530] is too low 问题
windows·elasticsearch·docker·docker desktop