在javax.sql包中,定义了DataSource接口,它由驱动程序供应商来实现,利用DataSource来建立数据库的连接,不需要在客户程序中加载JDBC驱动,也不需要使用java.sql.DriverManager类。通过向一个JNDI(Java Naming and Directory)服务器查询来得到DataSource对象,然后调用DataSource对象的getConnection()方法来建立数据库的连接。DataSource对象可以看成是连接工厂,用于提供此DataSource对象所表示的物理数据源的连接。
例如:
javax.naming.Context ctx=new javax.naming.InitialContext();
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/bookstore");
java.sql.Connection conn=ds.getConnection();
...
conn.close();
然后还要在Tomcat的配置文件中做相应的配置完整内容如下:
<Context docBase="F:\JSPLesson\ch" reloadable="true">
<Resource name="jdbc/bookstore" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="12345678"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/bookstore?autoReconnect=true"/>
</Context>