2020-12-05

一JDBC的入门案例:

@Test
	public void testJdbc()
	{
	    //1.注册数据库驱动
		Class.forName("com.mysql.jdbc.Driver");
		//2.获取数据库连接
		Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jt_tb");
		//3.获取传输器
		Statement stat=conn.createStatement();
		//4.利用传输器执行sql语句
		String sql="SELECT * FROM jt_tb";
		ResultSet rs=stat.executorQuery(sql);
		//5.处理执行结果
		while(rs.next()){
			Int id=rs.getInt("id");
			Double money=rs.getDouble("money");
			String name-rs.getString("name");
		}
		//6.关闭服务
		rs.getClose();
		stat.getClose();
		conn.getClose();
		System.out.println("塞翁失马,焉知非福");
		
	}

解释:
一:注册数据库驱动:本质上是由于com.mysql.jdbc.Driver类里面有一个静态代码块,这个静态代码块里面有一行代码是DriverManager.registerDriver(new Driver);这个代码通过这个全路径名加载Driver类,加载到内存,然后由这里面的这个方法注册驱动类,所以并不是class.forName()注册驱动类,实质上是里面的静态代码块中的一行代码注册驱动类:DriverManager.registerDriver(new Driver);这样就可以加载驱动了

注册驱动:加载驱动包,然后放心的让程序管理驱动包,这样使得JDBC就可以管理驱动中的功能了,方便我们使用里面的方法和功能

全路径名:包名+类名(这里的全路径名之间用的是.点号)

二:获取数据库连接:

1)这里的jdbc.mysql://localhost:3306/jt_db;这里的 localhost主机或者主机对应的ip地址可以省略,另外3306可以省略

2)DriverManager:驱动管理器

3)这里的URL的作用是写所连接的库的具体位置

4)上面的3306类似于网址上面的80端口;而localhost类似于网址上面的localhost

5)这里在书写所需要连接的数据库的位置时,之间采用的是/分隔

三:获取传输器(两者之间来回跑:快递员)

statement:执行sql语句

四:利用传输器执行sql语句,然后返回一个执行结果

1)作用:传输器负责将sql语句传到mysql数据库服务器上,然后在mysql 中执行好结果,然后将结果以ResultSet集合的形式返回

2)ResultSet集合:从这个对象中可以获得sql语句返回的结果

3)这里采用的是executorQuery,这是由于查询返回的是表格,而增删改返回的是影响的行数,所以采用的是executorUpdate()
在这里插入图片描述

五:处理执行结果:

(一)rs.next():判断下一条还有没有记录,是rs的专有获取数据的方法

(二)rs.getInt()、getDouble()、getString()是ResultSet里面的方法

在这里插入图片描述上面是通过一个浮标执行的,首先浮标是在表头一行,然后rs.next()为正,那么浮标就会向下运行一行,并读取每一行的数据

此外在rs.getInt(“id”)里面除了可以写id以外,我们还可以写1,1代表的是第一列,但是这种模式一般不建议使用

rs里面包含了一个表格和一个rs.next()方法

六释放资源:

如果不释放资源,那么当属于京东淘宝之类的电商上面时,就可能出现宕机

谁最晚获取,谁最先关闭

二:优化代码:

1.在main方法中,我们可以将异常抛出吗?

答案:不可以,由于main方法是入口,那么如果异常抛出,那么无人处理异常

2.什么时候我们应该声明异常?

在被调用的方法上面,我们应该注意当被调用的时候,应该将哪些容易出现异常的地方告诉调用者,当然这种异常是环境或者传参的时候造成的异常

3.如果是全路径名错了,找不到类

那么会报出Class Not Found Exception异常

4.最后一行可以直接写syst即可,这是有内容的

5.再不知道长度的时候,采用遍历的方式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值