一、JDBC介绍SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库。如下图所示: JDBC全称为:JavaDataBaseConnectivity(java数据库连接),它主要由接口组成。组成JDBC的2个包:java.sql、javax.sql开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。 二、编写JDBC程序搭建实验环境CREATEDATABASEjdbcStudyCHARACTER
一、JDBC介绍SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库。如下图所示: JDBC全称为:JavaDataBaseConnectivity(java数据库连接),它主要由接口组成。组成JDBC的2个包:java.sql、javax.sql开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。 二、编写JDBC程序搭建实验环境CREATEDATABASEjdbcStudyCHARACTER
DriverManager类讲解Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接,这个API的常用方法:DriverManager.registerDriver(newDriver())DriverManager.getConnection(url,user,password)注意:在实际开发中并不推荐采用registerDriver方法注册驱动。原因有二: 1.查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两次,也就是在内存中会有两个Driver对象。 2.程序依赖mysql的api,脱离mysql的jar包,程序将无法编译,将来程序切
DriverManager类讲解Jdbc程序中的DriverManager用于加载驱动,并创建与数据库的链接,这个API的常用方法:DriverManager.registerDriver(newDriver())DriverManager.getConnection(url,user,password)注意:在实际开发中并不推荐采用registerDriver方法注册驱动。原因有二: 1.查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两次,也就是在内存中会有两个Driver对象。 2.程序依赖mysql的api,脱离mysql的jar包,程序将无法编译,将来程序切
JDBC和连接池0511.BasicDAO先来分析一个问题前面我们使用了Apache-DBUtils和Druid简化了JDBC开发,但仍存在以下不足:SQL语句是固定的,不能通过参数传入,通用性不好,需要进行改进,来更方便执行增删改查对于select操作,如果有返回值,返回类型还不确定,应该使用泛型将来如果表很多,业务需求复杂,不可能只靠一个Java来完成为了解决这些问题,就要引出BasicDAO的概念11.1BasicDao分析基本说明DAO,即dataaccessobject(数据访问对象)这样的通用类称为BasicDao,是专门和数据库进行交互的,即完成对数据库(表)的crud操作在Ba
JDBC和连接池0511.BasicDAO先来分析一个问题前面我们使用了Apache-DBUtils和Druid简化了JDBC开发,但仍存在以下不足:SQL语句是固定的,不能通过参数传入,通用性不好,需要进行改进,来更方便执行增删改查对于select操作,如果有返回值,返回类型还不确定,应该使用泛型将来如果表很多,业务需求复杂,不可能只靠一个Java来完成为了解决这些问题,就要引出BasicDAO的概念11.1BasicDao分析基本说明DAO,即dataaccessobject(数据访问对象)这样的通用类称为BasicDao,是专门和数据库进行交互的,即完成对数据库(表)的crud操作在Ba
提出问题查询完某个表之后,一般都是把结果的每一个字段注入到一个实体类中。比如,数据库users表,查询出来的结果注入到User实体类中。通过while遍历ResultSet,把字段对应的类型通过对应的方法getXxx()注入到实体类中。每一个实体类的字段都不一样,又重新写重复的注入实体类的操作代码,是非常麻烦的,幸好有反射机制可以简化这样的操作。问题案例publicListselectAll(){Listusers=newArrayList();try{Connectionconnection=DriverManager.getConnection(config.getUrl(),config
提出问题查询完某个表之后,一般都是把结果的每一个字段注入到一个实体类中。比如,数据库users表,查询出来的结果注入到User实体类中。通过while遍历ResultSet,把字段对应的类型通过对应的方法getXxx()注入到实体类中。每一个实体类的字段都不一样,又重新写重复的注入实体类的操作代码,是非常麻烦的,幸好有反射机制可以简化这样的操作。问题案例publicListselectAll(){Listusers=newArrayList();try{Connectionconnection=DriverManager.getConnection(config.getUrl(),config
JDBC和连接池04-210.数据库连接池10.5Apache-DBUtils10.5.1resultSet问题先分析一个问题在之前的程序中,执行sql语句后返回的结果集存在如下问题:关闭connection后,resultSet结果集无法使用如果要使用结果集,就不能关闭连接,不能关闭连接,就会反过来影响别的程序去连接数据库,就会对多并发程序造成很大的影响resultSet不利于数据的管理如果其它的方法或者程序想要使用结果集,也需要一直保持连接,影响其他程序对数据库的连接使用返回信息也不方便解决方法:定义一个类,该类的属性和表的字段是对应关系/映射关系,即用类的属性和表的字段(列)关联起来我们
JDBC和连接池04-210.数据库连接池10.5Apache-DBUtils10.5.1resultSet问题先分析一个问题在之前的程序中,执行sql语句后返回的结果集存在如下问题:关闭connection后,resultSet结果集无法使用如果要使用结果集,就不能关闭连接,不能关闭连接,就会反过来影响别的程序去连接数据库,就会对多并发程序造成很大的影响resultSet不利于数据的管理如果其它的方法或者程序想要使用结果集,也需要一直保持连接,影响其他程序对数据库的连接使用返回信息也不方便解决方法:定义一个类,该类的属性和表的字段是对应关系/映射关系,即用类的属性和表的字段(列)关联起来我们