无论是好的还是坏的,只要你认为你是怎样的,你就是对的。
今天是单老师上课的第二天,渐渐的习惯了单老师的风格,能更好的调整自己上课的状态了。感觉自己学到很多,而且学习也不是很辛苦。
1. 复习了mysql,校对上一天的练习作业。上一天学习的主要是写sql语句,而且主要涉及的是对数据库的操作命令,和对数据库的增删改查。
2. jdbc驱动简介:在java中jdbc直接访问数据库。Jdbc是java访问数据库的基石,其他技术都是jdbc的封装。Jdbc(Java Database Connectivity)是一个独立特定数据库管理系统,通用的sql数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源,jdbc为访问 不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。
总结:jdbc本身是java连接数据库的一个标准,是进行数据库连接的抽象层,由java编写的一组类和接口组成,接口的实现由各个数据库厂商来完成。
3. jdbc分类:
目前有四种可供使用的jdbc驱动程序,不同类型的驱动程序有着不一样的使用方法:
A)Jdbc-odbc桥:桥接器型的驱动程序,必须在使用者端的计算机上事先安装好obdc驱动程序,然后通过jdbc-odbc的调用方法,进而通过odbc类存取数据库。
B)部分本地API部分java驱动程序,也是桥接器型驱动程序之一,如同类型一。在使用者计算机上安装特定的驱动程序,然后通过jdbc-native API桥接器的转换,把java API 调用转换成特定驱动程序的调用方法,进而存取数据库。
C)jdbc网络纯java驱动程序:最大的好处是省去了在使用者计算机上安装任何驱动程序的麻烦,只需在服务器端安装好middleware,而middleware会负责所有存取数据库时必要的转换。
4.Driver接口是所有jdbc驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。
5.编写java代码实现数据库的连接有四种方式:
实例代码:
第一种方式://1.创建数据库驱动实例
Driver driver=new Driver();
//2.创建连接对象
Properties info=new Properties();
info.put("user", user);
info.put("password", password);
Connection conn=(Connection) driver.connect(url, info);
//3.执行数据库操作
System.out.println(conn);
Thread.sleep(50000);
//4.释放资源 show processlist查看数据库的当前连接数
conn.close();
在实际开发中最常用的是第三种方式:
//1初始化数据库驱动程序,这时会自动注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2创建连接对象
Connection conn= DriverManager.getConnection(url,user,password);
//3执行操作
System.out.println(conn);
//4关闭连接
conn.close();
6.ResultSet详解:
A)表示数据库结果集的数据表,通过执行查询数据库的语句生成
B)ResultSet对象具有指向当前数据行的光标。最初,光标被放在第一行之前。Next方法可以使光标下移一行。
C)Result接口提供用于从当前行获取列值的获取方法(getBoolean,getLong等),也可以使用列的索引。
D)对于获取方法,jdbc驱动程序尝试将底层数据转换为在获取方法中指定的java类型,并返回适当的java值,jdbc规范有一个表,显示允许的从sql类型到ResultSet获取方法所使用的java类型的映射关系。
E)用作获取方法的输入的列名不区分大小写
F)使用列标题获取结果集中的数据时,如果执行select语句中为列使用了别名,调用getXXX方法时传入的列标题名称必须和别名一致。
7.Statement 和preparedStatement的区别
使用预编译效率更高,可以省去相同的语句重复编译。
使用预编译更安全,使用占位符,可以防止sql语句的注入,数据被破坏。
小结:
最常使用的对象DirverManager.Connection.Statement.perparedStatement,ResultSet等。