首页 > 数据库 >JDBC连接数据库增删改查实例

JDBC连接数据库增删改查实例

时间:2022-09-21 17:46:53浏览次数:72  
标签:JDBC String name brand 改查 public 增删 id pstmt

查询所有

  1. dao层代码:
package example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import fengzhuang.Brand;

public class BrandTest {
	
	/**
	 * 1.sql语句:select * from tb_brand
	 * 2.参数:不需要
	 * 3.结果:List<Brand>
	 * 
	 */
	
	@Test
	public void testSelectAll() throws Exception {
		//获取连接
		String url = "jdbc:mysql://localhost:3306/db1";
		String name = "root";
		String password = "123456";
		Connection conn = DriverManager.getConnection(url, name, password);
		//定义sql语句
		String sql = "select * from tb_brand";
		//获取对象
		PreparedStatement pstmt = conn.prepareStatement(sql);
		//执行sql
		ResultSet rs = pstmt.executeQuery();
		//处理结果
		Brand brand = null;
		List<Brand> brands = new ArrayList<>();
		while(rs.next()) {
			//获取数据
			int id = rs.getInt("id");
			String brandName = rs.getString("brand_name");
			String companyName = rs.getString("company_name");
			int ordered = rs.getInt("odered");
			String description = rs.getString("description");
			int status = rs.getInt("status");
			//封装对象
			brand = new Brand();
			brand.setId(id);
			brand.setBrandName(brandName);
			brand.setCompanyName(companyName);
			brand.setOrdered(ordered);
			brand.setDescription(description);
			brand.setStatus(status);
			//放到集合
			brands.add(brand);
		}
		System.out.println(brands);
		//释放资源
		rs.close();
		pstmt.close();
		conn.close();
		
	}

}

  1. 数据类代码:
package fengzhuang;

public class Brand {
	private Integer id;
	private String brandName;
	private String companyName;
	private Integer ordered;
	private String description;
	private Integer status;
	
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getBrandName() {
		return brandName;
	}
	public void setBrandName(String brandName) {
		this.brandName = brandName;
	}
	public String getCompanyName() {
		return companyName;
	}
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	public Integer getOrdered() {
		return ordered;
	}
	public void setOrdered(Integer ordered) {
		this.ordered = ordered;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	
	@Override
	public String toString() {
		return "Brand [id=" + id + ", brandName=" + brandName + ", companyName=" + companyName + ", ordered=" + ordered
				+ ", description=" + description + ", status=" + status + "]";
	}
	
	

}

  1. 数据库表
    数据库名为db1,表名为tb_brand,数据库结构如下图:

  2. 运行结果
    目前主要是学习JDBC,所有代码都是junit测试来运行的,暂时还没有前端界面。

添加数据

  1. dao层代码
        /**
	 * 1.SQL语句:insert into tb_brand(brand_name,company_name,odered,description,status) values(?,?,?,?,?);
	 * 2.参数:需要,除了id外所有信息
	 * 3.结果:boolean
	 */
	
	@Test
	public void testAdd() throws Exception {
		//接受页面提交的参数
		String brandName = "香飘飘";
		String companyName = "香飘飘公司";
		int ordered = 1;
		String description = "香的要飘飘";
		int status = 1;
		//1. 获取连接
		String url = "jdbc:mysql://localhost:3306/db1";
		String name = "root";
		String password = "123456";
		Connection conn = DriverManager.getConnection(url, name, password);
		//2. 定义SQL语句
		String sql = "insert into tb_brand(brand_name,company_name,odered,description,status) values(?,?,?,?,?)";
		//3. 获取对象
		PreparedStatement pstmt = conn.prepareStatement(sql);
		//4. 设置参数
		pstmt.setString(1, brandName);
		pstmt.setString(2, companyName);
		pstmt.setInt(3, ordered);
		pstmt.setString(4, description);
		pstmt.setInt(5, status);
		//5. 执行SQL
		int count = pstmt.executeUpdate();
		//6. 处理结果
		System.out.println(count > 0);
		//7. 释放资源
		pstmt.close();
		conn.close();
		
	}
  1. 数据类代码
    与查找相同

  2. 数据库表结构
    与查找相同

  3. 运行结果

修改

  1. dao层代码:
        /**
	 * 1.SQL语句:update tb_brand set brand_name = ?,company_name = ?,odered = ?,description = ?,status = ? where id = ?
	 * 2.参数:需要,所有数据 
	 * 3.结果:boolean
	 */
	
	@Test
	public void testUpdate() throws Exception {
		//接受页面提交的参数
		String brandName = "香飘飘";
		String companyName = "香飘飘公司";
		int ordered = 1000;
		String description = "直接起飞!";
		int status = 1;
		int id = 4;
		//1. 获取连接
		String url = "jdbc:mysql://localhost:3306/db1";
		String name = "root";
		String password = "123456";
		Connection conn = DriverManager.getConnection(url, name, password);
		//2. 定义SQL语句
		String sql = "update tb_brand set brand_name = ?,company_name = ?,odered = ?,description = ?,status = ? where id = ?";
		//3. 获取对象
		PreparedStatement pstmt = conn.prepareStatement(sql);
		//4. 设置参数
		pstmt.setString(1, brandName);
		pstmt.setString(2, companyName);
		pstmt.setInt(3, ordered);
		pstmt.setString(4, description);
		pstmt.setInt(5, status);
		pstmt.setInt(6, id);
		//5. 执行SQL
		int count = pstmt.executeUpdate();
		//6. 处理结果
		System.out.println(count > 0);
		//7. 释放资源
		pstmt.close();
		conn.close();
		
	}
  1. 数据类代码
    与查询相同

  2. 数据库结构
    与查询相同

  3. 运行结果

删除

  1. dao层代码
/**
	 * 1.SQL语句:delete from tb_brand where id = ?
	 * 2.参数:需要,id
	 * 3.结果:boolean
	 */
	
	@Test
	public void testDeleteById() throws Exception {
		//接受页面提交的参数
		int id = 4;
		//1. 获取连接
		String url = "jdbc:mysql://localhost:3306/db1";
		String name = "root";
		String password = "123456";
		Connection conn = DriverManager.getConnection(url, name, password);
		//2. 定义SQL语句
		String sql = "delete from tb_brand where id = ?";
		//3. 获取对象
		PreparedStatement pstmt = conn.prepareStatement(sql);
		//4. 设置参数
		pstmt.setInt(1, id);
		//5. 执行SQL
		int count = pstmt.executeUpdate();
		//6. 处理结果
		System.out.println(count > 0);
		//7. 释放资源
		pstmt.close();
		conn.close();
		
	}
  1. 数据类代码:
    与查找相同

  2. 数据库表结构
    与查找相同

  3. 运行结果

标签:JDBC,String,name,brand,改查,public,增删,id,pstmt
From: https://www.cnblogs.com/he-cheng/p/16716162.html

相关文章

  • Failed to download 'https://github.com/xerial/sqlite-jdbc/releases/download/3.39
    1.原因外网原因无法下载2.解决办法下载sqlite-jdbc-3.39.2.0.jar,放这个目录下:C:\用户\你的用户名\AppData\Roaming\JetBrains\PyCharm2021.1\jdbc-drivers\XerialS......
  • MongoDB增删改查
    向数据库中导入数据mongoimport-d数据库名称-c集合名称--file要导入的文件mongoimport-dplayground-cusers--file./user.json 查询//查询用户集合中......
  • JDBC入门详解
    JDBC概念JDBC就是Java操作关系型数据库的一套API,其中真正的实现类由不同的数据库驱动(也就是jar包)实现。JDBC连接数据库步骤创建项目,导入jar包注册驱动,即告诉Java代码......
  • Spring基础 02 | JdbcTemplate
    JdbcTemplateSpring对Jdbc的Api简单封装开发步骤1.导入Spring-jdbc、spring-tx坐标2.创建数据库表和实例3.创建jdbcTemplate对象4.执行数据库操作导入坐标<de......
  • Spring JDBC的使用
    概述​ Spring的JDBC模块负责数据库资源管理和错误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从烦琐的数据库操作中解脱出来,从而将更多的精力投入编写业务逻......
  • 字典增删改查
    #字典Dict,也称为mapping字典是可变的、无序的、key不重复的key-value键值对集合初始化:dict(**kwargs)使用name=value对初始化一个字典dict(iterable,**kwarg),使用可迭代......
  • Pymysql增删改查
    1、mysqlDDL(数据定义语言)、DML(数据操作语言)和DCL(数据控制语言)查看服务器版本selectversion();查看所有数据库。showdatabases;切换到指定数据库。usemysql;......
  • Sqlite增删改查
    sqlite增删改查importsqlite3#如果文件不存在会自动创建conn=sqlite3.connect('test.db')#创建一个cursorcursor=conn.cursor()cursor.execute('DROPTABLEuser'......
  • JDBC
    JDBC理论概述JDBC概念:JDBC是使用java语言操作关系型数据库的一套API接口JDBC驱动:各个关系型数据库厂商根据JDBCAPI结构做的实现类JDBC连接过程注册驱动Class.fo......
  • ShardingSphere-JDBC
    概述ApacheShardingSphere‐JDBC可以通过Java,YAML,Spring命名空间和SpringBootStarter这4种方式进行配置,开发者可根据场景选择适合的配置方式。本文章主要讲解数......