JDBC和DBCP链接数据库
2017-11-14 16:54
141 查看
JDBC链接数据库。
这是最基本的连接数据库方式,思路是这样的:
导入jar包,并add to path。
加载数据库驱动。
获取数据库链接。
创建Statement对象。
操作数据库(执行SQL语句)。
得到结果集。
最后关闭数据库链接。
简单例子:
DBCP链接数据
数据库连接池的操作思路是这样的:
(1)建立数据库连接池对象。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
配置文件,最重要的是driverClassName,url,username,password:
这是最基本的连接数据库方式,思路是这样的:
导入jar包,并add to path。
加载数据库驱动。
获取数据库链接。
创建Statement对象。
操作数据库(执行SQL语句)。
得到结果集。
最后关闭数据库链接。
简单例子:
package DB; import java.sql.*; public class JDBCUtils { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String URL="jdbc:mysql://localhost:3306/Demo"; static final String name = "root"; static final String password = "9527"; public static void main(String[] args) { // TODO Auto-generated method stub Connection con = null; Statement st = null; try{ //注册驱动 Class.forName(JDBC_DRIVER); //获得数据库链接 con = DriverManager.getConnection(URL, name, password); //创建Statement对象 st = con.createStatement(); //操作数据库 ResultSet rs = st.executeQuery("select * from user"); //读取数据 while(rs.next()){ String name = rs.getString("name"); String pwd = rs.getString("password"); String phone = rs.getString("phone"); System.out.println("-----"); System.out.println("name is:"+name); System.out.println("password is:"+pwd); System.out.println("phone is:"+phone); System.out.println("-----"); } // 完成后关闭 rs.close(); st.close(); con.close(); }catch(Exception e){ e.printStackTrace(); } } }
DBCP链接数据
数据库连接池的操作思路是这样的:
(1)建立数据库连接池对象。
(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。
(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。
(4)存取数据库。
(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。
(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。
配置文件,最重要的是driverClassName,url,username,password:
driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/Demo username=root password=9527 initialSize=10 maxActive=50 maxIdle=20 minIdle=5 maxWait=60000 connectionProperties=useUnicode=true;characterEncoding=utf8 defaultAutoCommit=true defaultReadOnly= defaultTransactionIsolation=REPEATABLE_READ
package DB; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp2.BasicDataSourceFactory; public class DBCPUtils { static DataSource DS = null; static{ try{ Properties prop = new Properties(); InputStream b = DBCPUtils.class.getClassLoader().getResourceAsStream( "../DBCP.properties"); System.out.println(b); prop.load(DBCPUtils.class.getClassLoader().getResourceAsStream( "DBCP.properties")); DS = BasicDataSourceFactory.createDataSource(prop); }catch(Exception e){ e.printStackTrace(); } } public static Connection getConnection(){ try { return DS.getConnection(); } catch (SQLException e) { throw new RuntimeException(e); } } public static void close(Connection conn, Statement st, ResultSet rs){ if(rs!=null){ try{ rs.close(); }catch(Exception e){ e.printStackTrace(); } rs=null; } if(st!=null){ try{ st.close(); }catch(Exception e){ e.printStackTrace(); } st=null; } if(conn!=null){ try{ conn.close(); }catch(Exception e){ e.printStackTrace(); } conn=null; } } public static void main(String[] args) throws SQLException { // TODO Auto-generated method stub Connection con = DBCPUtils.getConnection(); Statement st = con.createStatement(); ResultSet rs = st.executeQuery("select * from user"); while(rs.next()){ String name = rs.getString("name"); String pwd = rs.getString("password"); String phone = rs.getString("phone"); System.out.println("-----"); System.out.println("name is:"+name); System.out.println("password is:"+pwd); System.out.println("phone is:"+phone); System.out.println("-----"); } DBCPUtils.close(con, st, rs); } }
相关文章推荐
- jdbc链接数据库大全
- [Java] JDBC_ODBC 链接 Excle 数据库
- BIEE 通过配置文件 修改JDBC 数据库链接
- jdbc与数据库Oracle链接的自练习
- JAVA通过JDBC链接数据库获取数据(一)
- jdbc链接数据库
- Java 项目JDBC 链接数据库中会出现的错误
- java中jdbc链接数据库
- JDBC数据库链接(MySQL数据库连接)
- J2SE基础夯实系列之JDBC,链接数据库实例代码
- spring MVC链接数据库与JDBC连接数据库
- Java使用JDBC编写解耦链接数据库
- Java通过JDBC链接数据库,数据库中wen
- 使用JDBC链接数据库之JDBC简介
- JAVA JDBC链接查询oracle 数据库的小例程
- struts链接apache数据库的commons-pool.jar和commons-dbcp.jar
- jdbc链接数据库,获取表名,字段名和数据
- 详解JDBC数据库链接及相关方法的封装
- java中jdbc链接数据库大全
- jdbc 链接sqlserver2005的数据库设置win7 64位操作系统