最后
本人也收藏了一份Java面试核心知识点来应付面试,借着这次机会可以送给我的读者朋友们:
目录:
Java面试核心知识点
一共有30个专题,足够读者朋友们应付面试啦,也节省朋友们去到处搜刮资料自己整理的时间!
Java面试核心知识点
- * + [1:封装好和数据库建立链接的操作](#1_409)
+ [2:封装好针对书籍表的增删查改操作](#2_553)
+ - [2.1:新增书籍:](#21_556)
- [2.2:查看所有书籍:](#22_590)
- [2.3:根据名字查找书籍](#23_629)
- [2.4:删除书籍](#24_667)
- [2.5:借书](#25_696)
- [2.6 还书](#26__771)
+ [3:封装好针对用户表的增删查改操作](#3_842)
- [4.5 Operation操作包](#45_Operation_900)
- * + [4.5.1 AddOperation](#451_AddOperation_903)
+ [4.5.2 BorrowOperation](#452_BorrowOperation_946)
+ [4.5.3 DelOperation](#453_DelOperation_975)
+ [4.5.4 DisplayOperation](#454__DisplayOperation_1003)
+ [4.5.5 ExitOperation](#455___ExitOperation_1027)
+ [4.5.6 FindOperation](#456___FindOperation_1042)
+ [4.5.7 IOperation](#457___IOperation_1072)
+ [4.5.8 ReturnOperation](#458___ReturnOperation_1085)
- [4.6 Main](#46_Main_1116)
+ [五、最终效果](#_1163)
一、JDBC简介
即Java Database Connectivity,Java和数据库链接。是一种可以执行SQL语句的API。JDBC 是一种规范,它提供了一套完整的接口,允许便携式访问到底层数据库,因此可以用 Java 编写不同类型的可执行文件
二、准备工作
工欲善其事必先利其器,在开始MYSQL JDBC编程之前,我们做一些准备工作。
编程语言:Java
数据库:MYSQL
数据库驱动包:不同的数据库需要导不同的数据包,并且数据库的版本也需要和驱动包的版本在大版本下相同,小版本可忽略。例如MYSQL用的5.x.x版本的那么对应的驱动包也应该是5.x.x。我这里为8.xx版本。这里附上链接。
三、JDBC五毒神掌
3.1导入驱动包,创建DataBase实例
1、在项目目录中创建一个包,我这里为JDBCtest5,并把下载好的驱动包直接拖动到这个包底下即可。
接着点击refactor就能在包底下看到自己的驱动包了。
接着右键点击当前的包,在底下找到add as a library。点击ok。
这样就算是导驱动包完成了。
新建一个Java.class文件。我这里是JDBC0925。在这个文件里先创建出main函数出来。然后
开始创建DataSource实例。同时给这个DataScoure设置参数,分别是URL,User,Password。
这里用了向下转型,把父类实例使用一个子类引用指向。还需要把DataSource转回成MysqlDatasource才能设置URL,用户名和密码。
DataScoure顾名思义就是描述了数据的来源,当我们根据自己的URL,账户名,和密码创建一个datasource实例时,就为连接数据库做了一步准备工作。
//1、创建DataSource实例
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java\_100?characterEncoding=utf8&useSSL=false");
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword(" ");
那问题来了,向下转型这么麻烦,那不转型行不行?
答案是完全可以的!但是如果直接写成不写转型的场景,这时如果要更换数据库的话,代码的改动就是非常大的。
2、和数据库建立连接。
//2、和数据库建立连接
Connection connection = dataSource.getConnection();
3、构造SQL语句
在JDBC中SQL是一个字符串,要想让数据库识别并执行SQL语句,还需要把这个字符串类型的SQL转成PrepareStatement对象。这个preparestatement对象可以帮我们动态的构造出SQL同时也能进行一些检查。
这里我的sql语句为查询学生表的所有信息。
//3、构造SQL
String sql="select \* from student";
PreparedStatement statement=connection.prepareStatement(sql);
4、执行SQL语句
statement提供了两个系列的execute,一个是executeUpdate,它用来进行增加、删除、修改。返回int表示能影响到多少行。
另一个是executeQuery。用于进行查找,我这里是查找,所以用的是Query。查找还需要一个结果集合resultSet。返回一个结果集,相当一个表格。
//4、执行SQL
ResultSet resultSet=statement.executeQuery();
//遍历结果集合
//先取出结果中的每一行,再取出每一行中需要列即可。
//这个遍历的代码很像迭代器
while (resultSet.next()){
int id=resultSet.getInt("id");
String name=resultSet.getString("name");
System.out.println(id+"\t"+name);
}
5、释放相关资源
哪些是相关资源?