jdbc的增删改查实例

1.创建连接

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

2.连接数据库

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

具体函数代码

public static void creatConn(){
		try {
			conn = null;
			String url = "jdbc:mysql://localhost:3306/demo1";
			String user = "root";
			String password = "123456";
			//选择数据库,加载数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//连接数据库
			conn = DriverManager.getConnection(url,user,password);
			Statement s = conn.createStatement();
			//关闭自动提交
			conn.setAutoCommit(false);
		} catch (ClassNotFoundException e) {
			System.out.println("数据库驱动没有找到");
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}

进行增加的操作

private static void exeUpdate(String code, String name) {
	//设置初始值
		PreparedStatement ps = null;
		try {
			//创建数据库查询
			ps = conn.prepareStatement("insert into demo(code,name) VALUES(?,?);");
			ps.setString(1, code);
			ps.setString(2, name);
			//获取查询结果
			int i = ps.executeUpdate();
			System.out.println(i);
			//抛出异常
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

进行查询和删除的操作(较为底层的方法,实际项目中直接框架实现)

private static void exeQuery(String name) {
		PreparedStatement ps = null;
		try {
		//使用占位符
			ps = conn.prepareStatement("select * FROM demo where id < ?;");
			//给占位符赋值,将程序写活
			ps.setString(1, name);
			//打印出查询的字段
			ResultSet rs = ps.executeQuery();
			while(rs.next()){
				int id = rs.getInt("id");
				String nam = rs.getString("name");
				String code = rs.getString("code");
				System.out.println("id = "+id+",code = "+code+",name = "+nam+"");
				
				//删除,此处删除直接在查询后面执行,查出来就删掉因此使用了事物的功能
				//事物的多个操作,要么都成功,要么都失败,在最后直接答应出结果
				PreparedStatement str = conn.prepareStatement("delete from demo where id = ?;");
				str.setInt(1,id);
				str.executeUpdate();
			}
			//关闭事物
			conn.commit();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally{
			//关闭查询
			try {
				if (null != ps) {
					ps.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

上完整代码

package com.Clients.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class Test {
	
	private static Connection conn;
	
	public static void main(String[] args) {
		//创建连接
		creatConn();
		
		//生成单位
		for (int i = 1; i <= 20; i++) {
			String str = String.format("%02d",i);
			exeUpdate("英雄编号" + str,"hero" + str);
		}
		
		//循环执行查询
		while(true){
			System.out.println("是否删除前十条数据");
			Scanner sca = new Scanner(System.in);
			String a = sca.nextLine();
			if (a.equals("yes")) {
				exeQuery("843");
				break;
			}else if (a.equals("no")) {
				break;
			}else{
				
			}
		}
		
		closeConn();
		
	}

	private static void exeQuery(String name) {
		PreparedStatement ps = null;
		try {
			ps = conn.prepareStatement("select * FROM demo where id < ?;");
			ps.setString(1, name);
			ResultSet rs = ps.executeQuery();
			while(rs.next()){
				int id = rs.getInt("id");
				String nam = rs.getString("name");
				String code = rs.getString("code");
				System.out.println("id = "+id+",code = "+code+",name = "+nam+"");
				
				//删除
				PreparedStatement str = conn.prepareStatement("delete from demo where id = ?;");
				str.setInt(1,id);
				str.executeUpdate();
			}
			//关闭事物
			conn.commit();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally{
			//关闭查询
			try {
				if (null != ps) {
					ps.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	
	private static void exeUpdate(String code, String name) {
		PreparedStatement ps = null;
		try {
			//创建数据库查询
			ps = conn.prepareStatement("insert into demo(code,name) VALUES(?,?);");
			ps.setString(1, code);
			ps.setString(2, name);
			//获取查询结果
			int i = ps.executeUpdate();
			System.out.println(i);
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	public static void creatConn(){
		try {
			conn = null;
			String url = "jdbc:mysql://localhost:3306/demo1";
			String user = "root";
			String password = "123456";
			//选择数据库,加载数据库驱动
			Class.forName("com.mysql.jdbc.Driver");
			//连接数据库
			conn = DriverManager.getConnection(url,user,password);
			Statement s = conn.createStatement();
			//关闭自动提交
			conn.setAutoCommit(false);
		} catch (ClassNotFoundException e) {
			System.out.println("数据库驱动没有找到");
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}catch (Exception e) {
			e.printStackTrace();
		}
		
	}
	//关闭连接
	private static void closeConn() {
		try {
			if (null != conn) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值