Java连接数据库新增、删除

注意:需要先引入架包,再调用架包

public static void main(String[] args) throws ClassNotFoundException {

//第一步 加载驱动(提前需要引入架包)需要抛个异常

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

//第二步获取数据库连接
//连接字符串
// jdbc:mysql代表我是jdbc的链接字符串
// localhost要连接数据库的服务器名称,也可以用127.0.0.1后面3306是服务器的端口
// demo_db_2019数据库名称,一般般要改就前面三个地方要改
// characterEncoding=UTF-8 连接的时候使用的字符串编码UTF-8
// serverTimezone=Asia/Shanghai指定服务器的时区,不指定会报错,中国使用亚洲上海
// useSSL=false 是否使用加密 false代表没有使用加密

	String url = "jdbc:mysql://localhost:3306/demo_db_2019?characterEncoding="
			+ "UTF-8&serverTimezone=Asia/Shanghai&useSSL=false";
			+ 

//用户名 密码

	String userName = "root";//数据库名称
	String password = "root";//数据库密码

	Connection conn = null;
	PreparedStatement ps = null; 

	try {
		conn = DriverManager.getConnection(url, userName, password); //数据库的连接对象

//第三步 创建 Statement
// Statement statement=conn.createStatement();创建查询对象
// prepareStatement 中使用?作为变量的占位符
// INSERT INTO+需要新增的表名(需要新增的名称)多信息需要用 " , "来隔开。
// VALUE(用?作为变量的占位符)用 " , "来隔开。

		String strSql = "INSERT INTO sys_user(user_name,password,real_name,"
				+"sex,age,birthday,phone,address,role_id)"
				+"VALUE(?,?,?,?,?,?,?,?,?)";
		ps = conn.prepareStatement(strSql);

//第四步 参数赋值 索引从1开始

		Date date=new Date();
		
		ps.setString(1, "userName 2");//(索引,新增的信息);
		ps.setString(2, "pass 2");//字符串需要用""引起,不然报错
		ps.setString(3, "姓名123");
		ps.setByte(4, (byte) 2);//数据类型则不需要用""引起
		ps.setByte(5, (byte) 18);
		ps.setDate(6, new java.sql.Date(date.getTime()));
		ps.setString(7, "38863993864");
		ps.setString(8, "广东省东莞市石排");
		ps.setInt(9, 8);
		
		//第五步 执行sql
		int rows = ps.executeUpdate();//返回受影响的行数
		if (rows==1) {//修改只修改一条数据,如果修改多了则修改失败
			System.out.println("新增成功");
		} else {
			System.out.println("新增失败");
		}

	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} finally {//一般用来关闭物理资源 finally块一定会被执行
		if (conn != null) {//判断是否不为空
			try {
				conn.close();// 记得一定要关闭数据库的连接
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

		if (ps != null) {//判断是否不为空
			try {
				ps.close();// 记得一定要关闭数据库的连接
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}

//删除操作

public static void main(String[] args) throws ClassNotFoundException {

//第一步 加载驱动(提前需要引入架包)需要抛个异常

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

//第二步获取数据库连接
//连接字符串
// jdbc:mysql代表我是jdbc的链接字符串
// localhost要连接数据库的服务器名称,也可以用127.0.0.1后面3306是服务器的端口
// demo_db_2019数据库名称,一般般要改就前面三个地方要改
// characterEncoding=UTF-8 连接的时候使用的字符串编码UTF-8
// serverTimezone=Asia/Shanghai指定服务器的时区,不指定会报错,中国使用亚洲上海
// useSSL=false 是否使用加密 false代表没有使用加密

	String url = "jdbc:mysql://localhost:3306/demo_db_2019?characterEncoding="
			+ "UTF-8&serverTimezone=Asia/Shanghai&useSSL=false";
			+ 

// 用户名 密码

	String userName = "root";//数据库名称
	String password = "root";//数据库密码

	Connection conn = null;
	PreparedStatement ps = null; 

	try {
		conn = DriverManager.getConnection(url, userName, password); //数据库的连接对象

		System.out.println(conn);

//第三步 创建 Statement
// Statement statement=conn.createStatement();
// prepareStatement 中使用?作为变量的占位符
// DELETE FROM + 上表名 + 删除的条件;如果不写条件会把表里面的内容清空。
// WHERE id=? 一般都是以主键id为条件实现物理删除

		String strSql = "DELETE FROM sys_user "
				+ "WHERE id=?";
		ps = conn.prepareStatement(strSql);

		//第四步 参数赋值 索引从1开始
		Date date=new Date();
		
		ps.setInt(1, 13);//(索引,删除的id数)
		
		//第五步 执行sql
		int rows = ps.executeUpdate();//返回受影响的行数
		if (rows==1) {//修改只修改一条数据,如果修改多了则修改失败
			System.out.println("删除成功");
		} else {
			System.out.println("删除失败");
		}
		
	} catch (SQLException e) {
		e.printStackTrace();
	} finally {
		if (conn != null) {
			try {
				conn.close();// 记得一定要关闭数据库的连接
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (ps != null) {
			try {
				ps.close();// 记得一定要关闭数据库的连接
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值