一、jdbc:java data base connectivity(java数据库连接) 定义:它是为了java访问数据库编写的类和接口。包括核心包java.sql和扩展包javax.sql。 jdbc访问数据库的流程及原理: string sql = select * from student; class.forname(com.mysql.jdbc.driv
一、jdbc:java data base connectivity(java数据库连接)
定义:它是为了java访问数据库编写的类和接口。包括核心包java.sql和扩展包javax.sql。
jdbc访问数据库的流程及原理:
string sql = select * from student; class.forname(com.mysql.jdbc.driver).newinstance(); //1.加载指定数据库的驱动程序; connection conn = drivermanager.getconnection(jdbc:mysql://localhost/simplebbs,root,126); //2.与数据库建立连接。 statement stmt = conn.preparestatement(sql); //3.创建statement对象。 //preparedstatement pstmt = conn.preparestatement(sql); stmt.executequery(sql);
1.加载指定数据库的驱动程序。
2.与数据库建立连接。通过java.sql包里的drivermanager类里的getconnection()方法。
3.创建statement对象。通过connection的对象conn调用createstatement()方法,或者conn.preparestatement(sql)方法。
4.执行sql语句。通过statement的对象执行sql语句。 查询:stmt.executequery(sql);修改:stmt.executeupdate(sql)。
注意:preparedstatement和statement的区别?
二、datasource(数据源配置):
通过datasource配置数据库连接,把连接数据库当做它的属性配置在文件里。这样就比jdbc那种写在代码里的连接方式方便很多,容易修改。
三、连接池:
当频繁操作数据库时,就需要频繁的与数据库建立连接。而每次建立和断开连接都会消耗资源和时间,这样效率不高。为了提高效率,我们可以建立一个“池”,预先统一在“池”中建立很多连接,我们需要时,直接取出一个就行。这样就避免了分别建立多个连接时消耗的资源。(和线程池一样的思想。)