Topic: JSP的这两种连接MySQL的代码有什么不一样呀?

  Print this page

1.JSP的这两种连接MySQL的代码有什么不一样呀? Copy to clipboard
Posted by: lodestar
Posted on: 2003-12-15 22:05

1.
<%
java.sql.Connection conn;
java.lang.String strConn;
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn=java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test","root","angel");
%>

2.
<%--
String MM_mysite_DRIVER = "org.gjt.mm.mysql.Driver";
String MM_mysite_USERNAME = "root";
String MM_mysite_PASSWORD = "angel";
String MM_mysite_STRING = "jdbc:mysql://127.0.0.1/mysite";
--%>
第一种不是太明白的呀!版主能说一下这两个的不同之处吗?
本人刚学,谢谢了!!!
我看第二种与PHP连MySQL差不多的呀!

这是我连PHP用的呀
<?php
$hostname_mysite = "localhost";
$database_mysite = "mysite";
$username_mysite = "root";
$password_mysite = "angel";
$mysite = mysql_pconnect($hostname_mysite, $username_mysite, $password_mysite) or trigger_error(mysql_error(),E_USER_ERROR);
?>

2.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: lodestar] Copy to clipboard
Posted by: ringayumi
Posted on: 2003-12-15 22:54

..............What should i say?~.~

3.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: ringayumi] Copy to clipboard
Posted by: nothing
Posted on: 2003-12-15 22:57

让他回去好好看书.

Embaressed

4.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: lodestar] Copy to clipboard
Posted by: 九佰
Posted on: 2003-12-16 09:13

我们通常使用的new方法是java实例化一个类的主要方法
实际上,在实例化一个java类有很多种方式
Class.forName("org.gjt.mm.mysql.Driver").newInstance();是其中的一种
在jdbc中通常使用这种方式

更详细的描述,请阅读jdbc规范,现在jdbc已经发布了 3.0版本
在jdbc规范的前面介绍部分,会有类加载和管理的说明

祝你好运!
欢迎常来!

Smile

5.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: lodestar] Copy to clipboard
Posted by: lodestar
Posted on: 2003-12-18 16:18

谢谢楼上的三位!!!
由于刚学还不知道的呀!

再谢谢版主!!

6.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: lodestar] Copy to clipboard
Posted by: 九佰
Posted on: 2003-12-18 16:19

Reflection 是 Java 程序开发语言的特征之一
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
就是Reflection的一个例子

7.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: lodestar] Copy to clipboard
Posted by: 九佰
Posted on: 2003-12-18 21:05

Java的程序运行(实例化)时,会自动创建程序中每个实例化类的Class对象,Class是Java中的类,就像System类一样。
通过Class类的方法,就可以得到程序中被实例化的每个类的信息。例如,类的名字、类的超类等。

在Java中用Reflection称呼这一功能,通常称为"反射"或者"映射"。

1、通过类的实例得到类的映射对象
比如,
String str = new String(); // 创建一个类的实例
Class c = str.getClass(); // 得到这个类的映射对象
System.out.println("Class of str is :" + c.getName()); // 通过映射对象得到这个类的名字

输出如下:
Class of str is :java.lang.String

2、通过类得到类的映射对象

得到一个类的映射对象的另外几种方法:
Class c = String.class ;
Class c = Class.forName("String") ;

3、通过类的映射对象还原类
String str = new String(); // 创建一个类的实例
Class c = str.getClass(); // 得到这个类的映射对象
String newStr =(String)c.newInstance(); //通过映射对象还原一个String类

还有一种形式:
Class c = Class.forName("String") ;
String newStr =(String)c.newInstance(); //通过映射对象还原一个String类

这就是我们通常在jdbc中常见到的驱动类加载的方法。

Reflection机制在j2ee里面用的很多。

8.Re:JSP的这两种连接MySQL的代码有什么不一样呀? [Re: lodestar] Copy to clipboard
Posted by: sagac
Posted on: 2004-03-10 22:36

我认为第一种是通过java自身的包和方法来调用,第二种是通过你自己定义你自己需要使用时,可以直接调用的自己熟悉的名称。

比较一下:第一种的方法比较呆板,但却是最基本、最原始的数据库连接方法;第二种相比之下就具有很大的灵活性,可以随心所欲 一点了。
在此,我没对其执行的效果作讨论,我觉得也没什么必要。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923