使用BasicDataResource来连接数据库,平时我们都是直接使用Driver,这里我们自己通过编写程序获得一个数据源,并从数据源连接到数据库获得数据。通过数据源的学习对于数据库连接的底层的东西可以有个新的认识。
准备工作:
1. Eclipse
2.MySql 和 Mysql 连接驱动(mysql-connection-java-5.0.3-bin.jar)
3.下载commons-pool-1.3.jar包 和commons-dbcp-1.2.1.jar包
工作流程:
一.数据库MySql
1. 打开MySql 服务器,在MySql服务器里建立一个名叫itcast库。
2. 在库里创建一个名叫student的表,在表里设置一个name和password.。
3. 在表中增加name=huangzongda,password=itcast
二.Eclipse
1.打开Eclipse工具,建立一个itcast包,包下面建立一个测试名叫DbDemo类。
2.导入mysql-connection-java-5.0.3-bin.jar和commons-pool-1.3.jar, commons-dbcp-1.2.1.jar三个包
3.代码比较简单,可是涉及到的面比较广,细心是必须的。
//包名
package itcast;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.apache.commons.dbcp.BasicDataSource;
public class DCDemo {
/**
* @param args
* @throws SQLException
*/
static Connection cn = null;
static PreparedStatement stmt = null;
static ResultSet rs = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
//BasicDataSource数据源对象,用来设置Driver,url,user,password
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
//localhost代表使用本地数据库,如果使用其他计算机上的库可以加上IP和端口号:162.105.*+端口号
ds.setUrl("jdbc:mysql://localhost/itcast");
ds.setUsername("root");
ds.setPassword("");
try
{
获得连接
cn = ds.getConnection();
//查询表
stmt = cn.prepareStatement("select * from student");
rs = stmt.executeQuery();
while(rs.next())
{
System.out.println(rs.getString("name")+":"+rs.getString(2));
}
}
catch(Exception e)
{
e.printStackTrace();//在实际上应该使用log打印,由于是课堂时间有限没有花太多时间配置log
}
finally
{
//关闭不使用的资源,关闭的顺序是倒着来的rs,stmt,cn,关闭之后应该设置为null这样释放就更放心了。
if(rs != null)
try
{
rs.close();
rs=null;
}
catch(Exception e){e.printStackTrace();}
if(stmt != null)
try
{
stmt.close();
stmt=null;
}
catch(Exception e){e.printStackTrace();}
if(cn != null)
try
{
cn.close();
cn=null;
}
catch(Exception e){e.printStackTrace();}
}
}
}
打印结果:
Huangzongda:itcast
下面在上面的程序基础上,用Spring实现同样的例子:
准备工作:
1. Eclipse
2. Spring
3.MySql 和 Mysql 连接驱动(mysql-connection-java-5.0.3-bin.jar)
4.下载commons-pool-1.3.jar包 和commons-dbcp-1.2.1.jar包
5.在上面的基础上还需要log4j-1.2.9.jar包,Spring 1.2 Core Lib