如何建立com组件连接mysql

如何建立com组件连接mysql,第1张

msql数据库连接:

一、传统方法:

1、本人使用JDBC驱动mysql-connector-java-5.1.6-bin.jar,将此驱动包放到%Tomcat_Home%\common\lib\下,

2、在应用程序中加载此包,右键项目属性->java build path->libraries->external libraries

3、在应用程序中加载驱动,Class.forName("com.mysql.jdbc.Driver").newInstance()

4、 用java.sql.DriverManager类取得一连conn=DriverManager.getConnection(url)

5、用java.sql.Statement接口创建stmt 对象,stmt=conn.createStatement()

或java.sql.PreraredStatement接口 pstmt

6、 用java.sql.ResultSet接口创建rst对象,rst = stmt.executeQuery(sql语句)

7、 处理结果集,断开数据库连接

二、数据池连接技术

1、 将mysql-connector-java-5.1.6-bin.jar,也在%Tomcat_Home%\common\lib\下,

2、 在tomcat中manager中配置数据源名,配置完后内容自动放在conf\server.xml中。

3、 在conf\catalina\localhost\下建你应用程序的xml文件,例wei2.xml中,内容为<Context docBase="wei2" path="/wei2">

<ResourceLink global="jdbc/mysql" name="jdbc/mysql" type="javax.sql.DataSource"/>

</Context>

其中jdbc/mysql为配置的JNDI

下面说下JNDI与DataSource

JNDI java naming directory interface命名和目录接口命名服务来使组件定位到其它组件和资源(数据库资源),JNDI所有名应该以字符串java:comp/env开始;

要定位JDBC资源中,这时就可以编写代码使用JNDI的lookup()方法来定位到这个资源了。

JNDI命名服务有一组将名称与对象联系在一起的绑定。JNDI中的lookup()方法传递一个JNDI参数(java:comp/env/myjdbc,前面java:comp/env是必要的。),返回相应的对象(返回类型为DataSource,若为数据库,则可用DataSource中的getConnection()方法获取数据库连接).

DataSoure 是javax.sql.DataSource类型。

数据库连接池分三步:

1、 指定数据库连接的逻辑名,起名java:comp/env/myjdbc

2、 获取与逻辑名相当的DataSource对象,代码为:

InitialContext ctx = new InitialContext()

DataSource ds = (DataSource)ctx.lookup(“java:comp/env/myjdbc”)

3、 由DataSource对象获取Connection对象

Connection con=ds.getConnection()

综上所有步骤:

Connection con

Private void init(){

Try{

InitialContext ctx = new InitialContext()

DataSource ds = (DataSource)ctx.lookup(“java:comp/env/jdbc/mysql”)

Conn = ds.getConnection()

}

Catch(Exception e){

e.printStackTrace()

}

}

这段代码使用连接池技术返回一个Connection对象.

1)连接Oracle 8/8i/9i/10g/11g(thin模式)

Class.forName("oracle.JDBC.driver.OracleDriver").newInstance()

String url="JDBC:oracle:thin:@localhost:1521:orcl" //orcl为Oracle数据库的SID

String user="test"

String password="test"

Connection con=DriverManager.getConnection(url,user,password)

2)连接DB2数据库

Class.forName("com.ibm.db2.jcc.DB2Driver")

String url="JDBC:db2://localhost:5000/testDb"/**数据库连接串**/

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

3)连接MySQL数据库

Class.forName("com.mysql.jdbc.Driver")

String url="JDBC:mysql://localhost:8080/testDB"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

4)连接SQL Server数据库

Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver")

String url="JDBC:microsoft:sqlserver://localhost:1433DatabaseName=testDb"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

5)连接PostgreSQL数据库

Class.forName("org.postgresql.Driver")

String url="JDBC:postgresql://localhost/testDb"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

6)连接Access数据库

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

String url="JDBC:odbc:Driver={Microsoft Access Driver (*.mdb)}DBQ="+application.getRealPath("/Data/testDb/mdb")

Connection conn=DriverManager.getConnection(url,"","")

7连接Sybase数据库

Class.forName("com.sybase.JDBC.SybDriver")

String url="JDBC:sybase:Tds:localhost:5007/testDb"

Properties pro=System.getProperties()

pro.put("user","userId")

pro.put("password","user_password")

Connection con=DriverManager.getConnection(url,pro)

8连接informix数据库

Class.forName("com.informix.JDBC.ifxDriver")

String url="JDBC:informix-sqli:localhost:1533/testDb:INFORMIXSERVER=myserver"user=testUserpassword=testpassword"Connection con=DriverManager.getConnection(url)

示例:

连接SQL Server2008R2数据库

首先Build Path → 添加外部sqljdbc.jar驱动

import java.sql.*

public class DB {

public static void main(String[] args) throws Exception {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")

Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433DatabaseName=数据库名", "sa", "1234")

Statement stmt = conn.createStatement()

ResultSet rs = stmt.executeQuery("select * from 表名")

while(rs.next()) {

System.out.println("id为:" + rs.getString("id") + "name为:" + rs.getString("name"))

}

System.out.println("数据库连接成功!")

rs.close()

stmt.close()

conn.close()

System.out.println("数据库成功关闭!")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8628748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存