原生JDBC

/**
 * JDBC( java DataBase Connection 数据库链接  ) 是一种用于执行SQL语句的java API.
 * JDBC是java访问数据库的标准规范,可以为不同的关系库提供统一访问,由一组用java语言编写的接口和类组成
 * JDBC规范四个核心对象:
 * 		DriverManager -->用于注册驱动
 * 		Connection    -->获取数据库链接对象
 * 		Statement     -->操作数据库sql语句对象
 * 		ResultSet     -->返回结果集
 */
* 需要使用数据库链接相关的jar
 * mysql-connector-java-5.1.37-bin.jar
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCUtils {
	// 定义数据库四大基本信息
	private static String driver = "com.mysql.jdbc.Driver";
	private static String url = "jdbc:mysql://127.0.0.1:3306/day_04";
	private static String username = "root";
	private static String password = "root";
	private static Connection conn;

	// 定义一个静态块,在调用JDBCUtils类是初始化,获取数据库链接
	static {
		try {
			/*
			 * java.sql.DriverManager是用来管理数据库驱动程序的 static void
			 * registerDriver(Driver driver) 向 DriverManager 注册给定驱动程序。
			 * 工具源码里面有一个static驱动,当调用driver类时已经调用了,所以这里不需要再次调用,我们可以使用反射技术
			 * DriverManager.registerDriver(new Driver());
			 */
			Class.forName(driver);
			// 获取数据库链接对象
			conn = DriverManager.getConnection(url, username, password);
		} catch (Exception e) {
			// 把编译异常转变为运行时异常
			throw new RuntimeException("数据库链接失败");
		}
	}
	//返回数据库链接对象
	public static Connection getConnection() {
		return conn;
	}
	//静态关闭流对象
	public static void close(ResultSet rs, Statement stat, Connection conn) {
		try {
			if (rs != null) {
				rs.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				stat.close();
			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				try {
					conn.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}
}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

public class DemoJDBCUtils {
	public static void main(String[] args) {
		//定义局部变量
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		try {
			//获取数据库链接对象
			connection = JDBCUtils.getConnection();
			//获取数据执行方法
			statement = connection.createStatement();
			String sql = "select * from 表名";
			//请求数据sql返回结果集
			resultSet = statement.executeQuery(sql);
			//next是否有下一个
			while(resultSet.next()){
				System.out.println(resultSet.getString("cid")+"\t"+resultSet.getString("cname"));
			}
		} catch (Exception e) {
			System.out.println(e);
		}finally {
			//关闭流对象
			JDBCUtils.close(resultSet, statement, connection);
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值