JDBC基础1

Java中的数据存储技术

  • 在Java中,数据库存取技术分为如下几类:
    • JDBC直接访问数据库
    • JDO技术 
    • 第三方O/R工具,如Hibernate,Mybatis等
  • JDBC是java访问数据库的基石,JDO,Hibernate等只是更好的封装了JDBC

JDBC概要

  • JDBC是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源
  • JDBC为访问不同的数据库提供了一种统一的途径(面向接口编程)
  • JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统

       在没有JDBC时,一个Java程序要访问一个数据库要编写特定的代码,但如果此时更换了数据库需要重新编写,可复用性差。如果在Java程序和各种数据库之间添加JDBC,JDBC提供了一组接口,此时Java应用程序只需要调用这组接口即可,而这组接口的实现则交给各个数据库的厂商去实现。即如果要想让Java程序能够调用到数据库,那么数据库厂商必须提供JDBC的实现,这个实现就叫做JDBC的驱动


JDBC简单的使用步骤

  1. 注册驱动
  2. 建立连接
  3. 创建Statement对象
  4. 执行查询,得到结果集

代码如下

            // 1.注册驱动
			DriverManager.registerDriver(new Driver());
			
			// 2.建立连接
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?serverTimezone=GMT%2B8", "root", "");
			
			// 3.创建Statement对象,跟数据库打交道一定要有这个对象
			Statement createStatement = conn.createStatement();
			
			// 4.执行查询,得到结果集
			String sql = "select * from t_stu";
			ResultSet rs = createStatement.executeQuery(sql);
			
			while(rs.next()) {
				int id = rs.getInt("id");
				String name = rs.getString("name");
				int age = rs.getInt("age");
				
				System.out.println(id + "  " + name + "  " + age);
			}
			
			rs.close();
			createStatement.close();
			conn.close();

在编写这段代码时还遇到了一个小问题:就是在url字符串里必须在表名后面加上“?serverTimezone=GMT%2B8”,否则会报错

 百度后才知道原来是因为在使用mysql的jdbc最新版时,遇到数据库和系统时区差异引起的问题,只要将serverTime指定成GMT+8时区即可解决

上面代码还存在着一些缺陷,如在资源关闭时应放在finally代码块中,应该使用更加安全的PrepareStatement等,这些问题将在后续解决

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值