JDBC编程步骤

第一步:注册驱动

注册驱动有两种方式:

第一种方式

//创建驱动对象
java.sql.Driver driver = new com.mysql.jdbc.Driver();

//完成驱动注册
DriverManager.registerDriver(driver);

第二种方式

//将com.mysql.jdbc.Driver这个类加载到虚拟机中,加载过程中自动执行静态代码块完成驱动注册。
Class.forName("com.mysql.jdbc.Driver");

第二步:获取数据库连接对象

//数据库的url
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "123456";

//获取数据库连接对象
Connection connection = DriverManager.getConnection(url, user, password);

第三步:获取数据库操作对象

//获取数据库操作对象,可以通过连接对象获取多个操作对象
Statement statement = connection.createStatement();

第四步:执行SQL语句

String sql = "select t.id, t.name where t_user";
ResultSet resultSet = statement.executeQuery(sql);

如果是DML语句则返回的是int类型值,代表影响数据库中记录的条数

String sql = "update t_user t set t.name='Tom' where t.id=1";
int i = statement.executeUpdate(sql);

第五步:处理查询结果

while(resultSet.next()){
    int id = resultSet.getInt(1);
    String name = resultSet.getString(2);
}

第六步:释放资源

ResultSet、Statement、Connection都需要释放(关闭),关闭顺序为创建顺序的倒序。

if(resultSet != null)
    resultSet.close();
if(statement != null)
    statement.close();
if(connection != null)
    connection.close();

完整代码如下:

public class JdbcDemo {

	public static void test() {
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;

		try {
            //第一步:注册驱动
			Driver driver = new com.mysql.jdbc.Driver();
			DriverManager.registerDriver(driver);

			String user = "root";
			String password = "123456";
			String url = "jdbc:mysql://localhost:3306/mydatabase";
            //第二步:获取数据库连接对象
			connection = DriverManager.getConnection(url, user, password);

            //第三步:获取数据操作对象
			statement = connection.createStatement();

            String sql = "select id, name from t_user";
            //第四步:执行sql语句
			resultSet = statement.executeQuery(sql);

            //第五步:处理查询结果
			while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
				System.out.println(id + "--" + name);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
            //第六步:释放资源
			try {
				if (resultSet != null)
					resultSet.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}

			try {
				if (statement != null)
					statement.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}

			try {
				if (connection != null)
					connection.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

现在大都使用各种ORM框架,没有在去直接使用JDBC的了,但是在找工作的时候有的公司笔试时会考这个。。。很让人无语啊。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值