使用JDBC连接数据库进项增删改操作

随便写一个java类吧

package com.linruozhuo.jdbc;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import org.junit.Test;

import com.mysql.jdbc.Driver;


public class TestJavaJdbc {

	//获取连接方法一:
	@Test
	public void test() throws SQLException {
		Driver driver  = new Driver();
		
		String url = "jdbc:mysql://localhost:3306/goods";
		
		Properties properties = new Properties();
		
		properties.put("user", "root");
		properties.put("password", "123456");
		
		Connection connect = driver.connect(url,properties);
		
		System.out.println(connect);
	}
	//获取连接方法二:
	public Connection getConnect() throws Exception {
		String driverClass = null;
		String url = null;
		String user = null;
		String password = null;
		
		InputStream inputStream = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
		
		Properties properties = new Properties();
		properties.load(inputStream);
		driverClass = properties.getProperty("driver");
		url = properties.getProperty("url");
		user = properties.getProperty("user");
		password = properties.getProperty("password");
		
		Properties info = new Properties();
		info.put("user", user);
		info.put("password", password);
		
//      一下两种都可以获得驱动链接	
//		Class.forName(driverClass);
//		Connection connection = DriverManager.getConnection(url, user, password);
		com.mysql.cj.jdbc.Driver driver = (com.mysql.cj.jdbc.Driver) Class.forName(driverClass).newInstance();
		Connection connection = driver.connect(url, info);
		
		return connection;
		
	}
	//测试
	@Test
	public void testGetConnection() throws Exception {
		System.out.println(getConnect());
	}
	
	/**
	 * 测试通过数据库连接来操作数据库
	 * @throws Exception
	 */
	@Test
	public void testStatement() throws Exception {
		//1.获取连接connection
		Connection connection = null;
		Statement statement = null;
		
		try {
			connection = getConnect();
			//准备SQL语句
//			String sql = "insert into user (name,sex,telephone,address) values ('zhuowenjun','1','13612349875','上海')";
//			String sql = "delete from user where id =1";
			String sql = "update user set sex = '0' where id =2";
			//创建statement对象
			statement = connection.createStatement();
			//执行语句
			statement.executeUpdate(sql);
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			try {
				//关闭statement对象
				if(connection != null)
					statement.close();
			} catch (Exception e2) {
				e2.printStackTrace();
			}finally {
				//2.关闭连接
				if(statement != null)
					connection.close();
			}
		}
	}
	//通用的更新操作方法
	public void updateOperation(String sql) {
		Connection connection = null;
		Statement statement = null;
		try {
			connection = JDBCUtils.getConnect();
			statement = connection.createStatement();
			statement.executeUpdate(sql);
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			JDBCUtils.closeLianjie(statement, connection);
		}
	}
	//用来测试通用的更新操作(增删改)
	public static void main(String[] args) {
		TestJavaJdbc javaJdbc = new TestJavaJdbc();
		String sql ="insert into user (name,sex,telephone,address) values ('simaxiangru','1','17715963574','上海')";
		javaJdbc.updateOperation(sql);
	}
}

在弄一个jdbcutils工具类,用来过去连接和关闭连接

package com.linruozhuo.jdbc;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCUtils {
	
	/**
	 * 获取数据库连接
	 * @return
	 * @throws Exception
	 */
	public static Connection getConnect() throws Exception {
		String driverClass = null;
		String url = null;
		String user = null;
		String password = null;
		
		InputStream inputStream = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
		
		Properties properties = new Properties();
		properties.load(inputStream);
		driverClass = properties.getProperty("driver");
		url = properties.getProperty("url");
		user = properties.getProperty("user");
		password = properties.getProperty("password");
		
		Properties info = new Properties();
		info.put("user", user);
		info.put("password", password);
		
//      一下两种都可以获得驱动链接	
//		Class.forName(driverClass);
//		Connection connection = DriverManager.getConnection(url, user, password);
		com.mysql.cj.jdbc.Driver driver = (com.mysql.cj.jdbc.Driver) Class.forName(driverClass).newInstance();
		Connection connection = driver.connect(url, info);
		
		return connection;
	}
	public static void closeLianjie(Statement statement,Connection connection) {
		if (statement != null) {
			try {
				statement.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		if (connection != null) {
			try {
				connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

在写个jdbc.properties文件

driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://127.0.0.1:3306/YourDatabaseName?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
user = root
password = 123456

齐活,哈哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值