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);//连接

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

没有报错=成功

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);//执行操作
String sql = "INSERT INTO USER ( name, password, age, sex, birthday ) VALUES( '李兴华', 'www.mldn.cn', 30, '男', '2008-08-27' )";
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();//连接关闭
	}
}

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

【例17.11】修改数据
String sql = "UPDATE user SET name ='"+name+"' , password = '"+password+"',age = "+age+" , sex = '"+sex+"' , birthday = '"+birthday+"'WHERE id = "+id;
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();//连接关闭
	}
}

在这里插入图片描述

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

【例17.11】删除数据
String sql = "DELETE FROM user WHERE id =" + id;
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();//连接关闭
	}
}

在这里插入图片描述

17.7 ResultSet 接口

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

【例17.13】从user表中查询数据
ResultSet rs = stmt.executeQuery(sql);//执行操作
while(rs.next())
		{
			int id = rs.getInt("id");
			String name = rs.getString("name");
			。。。。。。。。。
		}
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();//连接关闭
	}
}

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

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

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

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

【例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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿斯卡码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值