3.eclipse对mysql云数据库编程增删改查

我们在数据库study中创建了student表。
在这里插入图片描述

package mysqltest;

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.List;







/*创建测试类*/
class Run1{
	public Connection c;
	public Run1() {
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("加载成功");
	}
	public void connect() {
		try {
			c= DriverManager.getConnection("jdbc:mysql://link.mysql.rds.aliyuncs.com:3306/study", "name", "password");
			//自己的外网地址,账号密码!!!!
			System.out.println("连接成功");

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			System.out.println("连接失败");
			e.printStackTrace();
		}
	}
	/*
	 * 插入三条数据
	 * */
	public void insert() {
		String sql="insert into student values(?,?)";
		PreparedStatement s=null;
		Integer i=0;
		String[] li= {"mary","jason","joe"};
		try {
			while(i<3) {
			s=c.prepareStatement(sql);
			s.setString(1, i.toString());
			s.setString(2, li[i]);
			i++;
			s.execute();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	/*
	 * 输出表中所有数据
	 * */
	public void select() {
		String sql="select * from student";
		Statement s = null;
		try {
			s = c.createStatement();
			ResultSet t = s.executeQuery(sql);
			System.out.println("select:");
			while(t.next()) {
				String s1=t.getString("studentid");
				String s2=t.getString("studentname");
				System.out.println(s1+" "+s2);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				s.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	/*
	 * 更新表中id数据项对应的name*/
	public void update(String id,String name) {
		String sql="update student set studentname=? where studentid=?";
		PreparedStatement s = null;
		try {
			s = c.prepareStatement(sql);
			System.out.println("update:");
			s.setString(1, name);
			s.setString(2, id);
			s.execute();
			System.out.println("after update\n");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				s.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	/*
	 * 删除name的数据项*/
	public void delete() {
		String sql="delete from student where studentname=?";
		PreparedStatement s = null;
		try {
			s = c.prepareStatement(sql);
			System.out.println("delete:");
			s.setString(1, "mary");
			s.execute();
			System.out.println("after delete.\n");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				s.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
	/*
	 * 关闭对象
	 * */
	public void quit() {
		try {
			c.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
public class runtest {
	public static void main(String args[]) {
			Run1 test=new Run1();
			test.connect();
			test.insert();
			test.select();
			test.update("1", "jackson");
			test.delete();
			test.select();
			test.quit();	
		}
	}




在这里插入图片描述
讲解:
1.Statement是用于执行SQL语句的。s.execute执行sql语句
2.PreparedStatement也是用来执行sql语句的,但是其能进行参数设置,进行预编译,速度优于statement。使用s.setString/setInteger...(parameterIndex, x);替换String sql中的参数(?)
3.上面引入的方法都是java.sql.*,注意不要引用错了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

帅逼码农

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

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

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

打赏作者

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

抵扣说明:

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

余额充值