• JDBC练习1 从控制台向数据库的表customers中插入一条数据


    从控制台向数据库的表customers中插入一条数据:

    表结构如下:
    在这里插入图片描述
    代码示例:

    package com.atguigu4.exer;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.util.Scanner;
    
    import org.junit.Test;
    
    import com.atguigu3.util.JDBCUtils;
    
    /*
     * 
     * 
     */
    public class Exer1Test {
    	@Test
    	public void testInsert() {
    		Scanner scanner=new Scanner(System.in);
    		System.out.println("请输入用户名:");
    		String name = scanner.next();
    		System.out.println("请输入邮箱::");
    		String email = scanner.next();
    		System.out.println("请输入生日:");
    		String birthday = scanner.next();//birth在数据库中是Data类型,这里是String,其实有一个隐式转换
    		
    		String sql="insert into customers(name,email,birth)values(?,?,?)";
    		int insertCount=update(sql, name,email,birthday);
    		if (insertCount>0) {
    			System.out.println("添加成功");
    		}else {
    			System.out.println("添加失败");
    		}
    			
    	}
    	
    	
    	//通用的增删改操作(前提是在同一个数据库中)
    		public int update(String sql,Object ...args)  {//sql中占位符的个数与可变形参的长度相同
    			
    			Connection conn=null;
    			PreparedStatement ps=null;
    			try {
    				//1、获取数据库的连接
    				 conn = JDBCUtils.getConnectio();
    				//2、预编译sql语句,返回PrepareStatement的实例
    				ps = conn.prepareStatement(sql);			
    				//3、填充占位符
    				for(int i=0;i<args.length;i++) {
    					ps.setObject(i+1,args[i]);//小心参数声明错误
    				}
    				//4、执行
    				/*
    				 * ps.execute()
    				 * 如果执行的是查询操作,有返回结果,则此方法返回true
    				 * 如果执行增删改操作,没有返回结果,则此方法返回false
    				 * 方式一:
    				 */
    				 //ps.execute();
    				//方式二:
    				return ps.executeUpdate();
    			} catch (Exception e) {
    				e.printStackTrace();
    			}finally {
    				//5、资源的关闭
    				JDBCUtils.closeResource(conn, ps);
    			}
    				return 0;	
    		}
    	
    }
    
    

    输出结果:
    在这里插入图片描述
    数据库表更新结果:
    在这里插入图片描述

  • 相关阅读:
    依赖注入模式与反模式
    WPF异常——某个ItemsControl与它的项源不一致
    C# 3进化的数据访问之智能的编译器
    C# 2的重大改进之可空类型
    C# 1之外:构建于坚实基础上的新特性
    C# 1的核心基础之二——类型系统
    C# 1的核心基础之一——委托
    C#进化史
    单一职责原则
    HBase简介
  • 原文地址:https://www.cnblogs.com/James-221/p/13647467.html
Copyright © 2020-2023  润新知