您的位置:首页 > 编程语言 > Java开发

JAVA连接数据库的两种方式,JDBC和JNDI

2014-09-12 22:37 615 查看
本人新手,JDBC和JNDI的理论就不多说了,下面只说如何跑通一个例子。

准备:MySQL数据库 数据库名:test。库中有一表:Person。 表中有两字段:id和name

先来JDBC,建个WEB工程,加个mysql的驱动包,写个测试类,写以下几行代码,OK!


<span style="white-space:pre">		</span>String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "82993341";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, password);
Statement stat = conn.createStatement();
String sql = "select * from person ";
ResultSet rs = stat.executeQuery(sql);
while(rs.next()){
int id = rs.getInt("ID");
String name = rs.getString("NAME");
System.out.println(id+"&"+name);
}
rs.close();
stat.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}


再说JNDI,先在TomCat的lib目录下扔个mysql动包,然后改tomCat的配置,要改的配置文件为conf目录下的Context.xml,在Context节点中加下面的配置。

模板:

<Resource name="引用资源的JNDI名" auth="Container" type="javax.sql.DataSource"
driverClassName="jdbc驱动"  url="数据库连接url"
username="用户名" password="密码" maxActive="20(连接池dbcp的相关配置)" maxIdle="10" maxWait="10000"/>


我的配置:

<Resource name="jdbc/mysqlTest" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
username="root" password="82993341" maxActive="20" maxIdle="10" maxWait="10"/>


然后配置WEB工程中的web.xml

我的配置:

<resource-ref>

<description>使用JNDI数据源</description>

<res-ref-name>jdbc/mysqlTest</res-ref-name>

<res-auth>Container</res-auth>

<res-type>javax.sql.DataSource</res-type>

</resource-ref>

<res-ref-name>jdbc/mysqlTest</res-ref-name>

<res-auth>Container</res-auth>

<res-type>javax.sql.DataSource</res-type>

这三行跟tomcat中Context.xml配置有三个地方一样

最后写个测试类,注意,用JNDI时要用servlet测试,junit和写个main方法测是不行滴,原因呢,自己去搜相关的理论吧,不多说了

代码在这:
http://download.csdn.net/detail/shaoyangdd/7906233
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: