• 17.4-8连接数据库&增删改查基本操作(血干JAVA系类)


    流程:

    1.加载驱动(Class.forName(DBDRIVER);//加载驱动)
    2.连接(conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接)
    3.操作sql(更新,查询)
    【statement,PreparedStatement 】
    stmt = conn.createStatement();//操作
    stmt.executeUpdate(sql);//执行操作
    4.关闭连接(stmt,conn,rs,pstmt)

    17.4 JDBC操作步骤

    在这里插入图片描述

    17.5连接数据库

    DriverManager类(实例化Connection)

    在这里插入图片描述

    Connection接口(实例化操作子类)

    在这里插入图片描述
    在这里插入图片描述

    【例17.9】连接数据库

    Connection conn = null;//连接
    
    Class.forName(DBDRIVER);//加载驱动
    conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

    没有报错=成功

    17.6执行数据库的更新操作【statement接口】

    在这里插入图片描述

    在这里插入图片描述

    17.6.1实例操作1——执行数据库插入操作

    【例17.10】插入数据

    Connection conn = null;//连接
    Statement stmt = null;//操作sql
    String sql = "INSERT INTO USER ( name, password, age, sex, birthday ) VALUES( '李兴华', 'www.mldn.cn', 30, '男', '2008-08-27' )";
    
    		
    Class.forName(DBDRIVER);//加载驱动
    conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    stmt = conn.createStatement();//操作
    stmt.executeUpdate(sql);//执行操作
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    String sql = "INSERT INTO USER ( name, password, age, sex, birthday ) VALUES( '李兴华', 'www.mldn.cn', 30, '男', '2008-08-27' )";
    
    • 1
    package file;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    public class demo 
    {
    	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
    	public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
    	public static final String DBUSER = "root";
    	public static final String DBPASS = "dyh20011022";
    	
    	public static void main(String[] args) throws Exception
    	{		
    		Connection conn = null;//连接
    		Statement stmt = null;//操作sql
    		String sql = "INSERT INTO USER ( name, password, age, sex, birthday ) VALUES( '李兴华', 'www.mldn.cn', 30, '男', '2008-08-27' )";
    		
    		Class.forName(DBDRIVER);//加载驱动
    		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    		stmt = conn.createStatement();//操作
    		stmt.executeUpdate(sql);//执行操作
    		
    		stmt.close();//操作关闭
    		conn.close();//连接关闭
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    17.6.2实例操作2——执行数据库修改

    【例17.11】修改数据

    String sql = "UPDATE user SET name ='"+name+"' , password = '"+password+"',age = "+age+" , sex = '"+sex+"' , birthday = '"+birthday+"'WHERE id = "+id;
    
    • 1
    package file;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    public class demo 
    {
    	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
    	public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
    	public static final String DBUSER = "root";
    	public static final String DBPASS = "dyh20011022";
    	
    	public static void main(String[] args) throws Exception
    	{		
    		int id = 3;
    		String name ="name3";
    		String password = "name_password";
    		int age =10;
    		String sex ="女";
    		String birthday = "2001-10-03";
    		
    		Connection conn = null;//连接
    		Statement stmt = null;//操作sql
    		String sql = "UPDATE user SET name ='"+name+"' , password = '"+password+"',age = "+age+" , sex = '"+sex+"' , birthday = '"+birthday+"'WHERE id = "+id;		
    
    		Class.forName(DBDRIVER);//加载驱动
    		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    		stmt = conn.createStatement();//操作
    		stmt.executeUpdate(sql);//执行操作
    		
    		stmt.close();//操作关闭
    		conn.close();//连接关闭
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    在这里插入图片描述

    17.6.3实例操作3——执行数据库删除操作

    【例17.11】删除数据

    String sql = "DELETE FROM user WHERE id =" + id;
    
    • 1
    package file;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    public class demo 
    {
    	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
    	public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
    	public static final String DBUSER = "root";
    	public static final String DBPASS = "dyh20011022";
    	
    	public static void main(String[] args) throws Exception
    	{		
    		int id = 3;		
    		Connection conn = null;//连接
    		Statement stmt = null;//操作sql
    		String sql = "DELETE FROM user WHERE id =" + id;
    
    		Class.forName(DBDRIVER);//加载驱动
    		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    		stmt = conn.createStatement();//操作
    		stmt.executeUpdate(sql);//执行操作
    		
    		stmt.close();//操作关闭
    		conn.close();//连接关闭
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    在这里插入图片描述

    17.7 ResultSet 接口

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    【例17.13】从user表中查询数据

    ResultSet rs = stmt.executeQuery(sql);//执行操作
    while(rs.next())
    		{
    			int id = rs.getInt("id");
    			String name = rs.getString("name");
    			。。。。。。。。。
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    package file;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class demo 
    {
    	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
    	public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
    	public static final String DBUSER = "root";
    	public static final String DBPASS = "dyh20011022";
    	
    	public static void main(String[] args) throws Exception
    	{		
    		Connection conn = null;//连接
    		Statement stmt = null;//操作sql
    		String sql = "select id,name,password,age,sex,birthday from user";
    
    		Class.forName(DBDRIVER);//加载驱动
    		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    		stmt = conn.createStatement();//操作
    		ResultSet rs = stmt.executeQuery(sql);//执行操作
    		while(rs.next())
    		{
    			int id = rs.getInt("id");
    			String name = rs.getString("name");
    			String password = rs.getString("password");
    			String sex = rs.getString("sex");
    			String age = rs.getString("age");
    			String birthday = rs.getString("birthday");
    			System.out.println("--------------------------------------------------------");
    			System.out.println(id+"\t"+name+"\t"+password+"\t"+age+"\t"+sex+"\t"+birthday);
    		}
    		rs.close();//结果集关闭
    		stmt.close();//操作关闭
    		conn.close();//连接关闭
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41

    在这里插入图片描述
    在这里插入图片描述

    while(rs.next())
    		{
    			int id = rs.getInt(1);
    			String name = rs.getString(2);
    			String password = rs.getString(3);
    			int age = rs.getInt(4);
    			String sex = rs.getString(5);
    			String birthday = rs.getString(6);
    			System.out.println("--------------------------------------------------------");
    			System.out.println(id+"\t"+name+"\t"+password+"\t"+age+"\t"+sex+"\t"+birthday);
    		}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    17.8 PreparedStatement 接口(因为ResultSet 接口拼接sql语句,不安全)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    【例17.14】使用PreparedStatement完成数据插入操作(更新)

    package file;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class demo 
    {
    	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
    	public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
    	public static final String DBUSER = "root";
    	public static final String DBPASS = "dyh20011022";
    	
    	public static void main(String[] args) throws Exception
    	{		
    		Class.forName(DBDRIVER);//加载驱动
    		
    		String name = "读研贺";
    		String password="duyanhe";
    		String sex="男";
    		String birthday="2001-10-06";
    		int age = 22;
    		java.util.Date temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday);
    		java.sql.Date bir = new java.sql.Date(temp.getTime());
    	
    		String sql = "INSERT INTO user(name,password,age,sex,birthday) VALUES(?,?,?,?,?)";
    		
    		Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
    		PreparedStatement pstmt = conn.prepareStatement(sql);
    		
    		
    		pstmt.setString(1, name);
    		pstmt.setString(2, password);
    		pstmt.setInt(3, age);
    		pstmt.setString(4,sex);
    		pstmt.setDate(5,bir);
    		pstmt.executeUpdate();
    		
    		pstmt.close();
    		conn.close();
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    在这里插入图片描述
    在这里插入图片描述

    【例17.15】模糊查询(查询)

    package file;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class demo 
    {
    	public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
    	public static final String DBURL = "jdbc:mysql://localhost:3306/java_mysql";
    	public static final String DBUSER = "root";
    	public static final String DBPASS = "dyh20011022";
    	
    	public static void main(String[] args) throws Exception
    	{		
    		Class.forName(DBDRIVER);//加载驱动
    		
    	
    		String sql = "select id,name,password,age,sex,birthday from user  where name like ? or password like ? or sex like ?";
    		
    		Connection conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);//连接
    		PreparedStatement pstmt = conn.prepareStatement(sql);//操作
    		pstmt.setString(1, "%李%");
    		pstmt.setString(2, "%李%");
    		pstmt.setString(3, "%李%");
    		ResultSet rs = pstmt.executeQuery();//执行操作
    		while(rs.next())
    		{
    			int id = rs.getInt(1);
    			String name = rs.getString(2);
    			String password = rs.getString(3);
    			int age = rs.getInt(4);
    			String sex = rs.getString(5);
    			java.util.Date d =rs.getDate(6);
    			System.out.println("---------------------------------------------");
    			System.out.println(id+"\t"+name+"\t"+password+"\t"+age+"\t"+sex+"\t"+d);
    		}
    		
    		rs.close();
    		pstmt.close();
    		conn.close();
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    使用 Docker 安装 Nebula Graph
    Java poi给docx中的关键字标记颜色
    Scala基础教程--14--隐式转换
    【计算机网络】网络通信基础(IP地址,端口号,五元组,OSI七层模型,TCP/IP五层模型,封装和分用)
    【高并发】通过源码深度分析线程池中Worker线程的执行流程
    Spring核心思想
    编码器如何控制单相霍尔电机。只有一路霍尔信号,电机只能正转不能反转。能移植野火Pid控制吗
    fcntl函数 非阻塞轮询
    云原生|kubernetes|etcd数据库增删改查
    Java AbstractProcessor不生效问题
  • 原文地址:https://blog.csdn.net/qq_52384627/article/details/125471129