!不错!各种工具连接各种数据库.docx_第1页
!不错!各种工具连接各种数据库.docx_第2页
!不错!各种工具连接各种数据库.docx_第3页
!不错!各种工具连接各种数据库.docx_第4页
!不错!各种工具连接各种数据库.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、直连接数据库1 Java 连接 OralceClass.forName(oracle.jdbc.driver.OracleDriver).newInstance(); String url=jdbc:oracle:thin:localhost:1521:orcl; Connection conn= DriverManager.getConnection(url,user,password); 2 Java 连接 MySQLClass.forName(org.gjt.mm.mysql.Driver ).newInstance();String URL = jdbc:mysql:/localhost/test;Connection conn= DriverManager.getConnection(url,user,password);3 Java 连接SQLServerClass.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver ).newInstance();String URL =” jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs; Connection conn= DriverManager.getConnection(url,user,password);4 Java 连接DB2Class.forName(“com.ibm.db2.jdbc.app.DB2Driver ).newInstance();String URL =”jdbc:db2:/localhost:5000/sample; Connection conn= DriverManager.getConnection(url,user,password);5 Java 连接 InfomixClass.forName(rmix.jdbc.IfxDriver ).newInstance();String URL jdbc:informix-sqli:/9:1533/testDB:INFORMIXSERVER=myserverConnection conn= DriverManager.getConnection(url,user,password);6 Java 连接 SyBaseClass.forName(com.sybase.jdbc.SybDriver).newInstance();Properties sysProps = System.getProperties(); SysProps.put(user,userid); SysProps.put(password,user_password); Connection conn= DriverManager.getConnection(url, SysProps);7 Java连接 PostgreSQLClass.forName(org.postgresql.Driver).newInstance(); String url =jdbc:postgresql:/localhost/soft Connection conn= DriverManager.getConnection(url,user,password);二、 tomcat连接数据库(JNDI连接)1、先在自己应用程序WEB-INF目录下的web.xml添加以下语句: 引用资源说明 引用资源的JNDI名 引用资源的类名 管理者(Container) 然后在tomcat目录/conf/server.xml文件里相应的元素,添加如下子元素:2、例子:以下是我的假设的项目ACMEWeb: 在相应程序的web.xml里添加 . jdbc/AcmeDB javax.sql.DataSource Container 然后再server.xml里修改: 建议你把上面的内容编写成为一个xml文件,拷到conf/Catalina/文件夹下- maxActive 20 maxIdle 10 maxWait -1 usernamesa passwordenter driverClassName com.microsoft.jdbc.sqlserver.SQLServerDriver url jdbc:microsoft:sqlserver:/infor:1433;DatabaseName=infordb !- factory mons.dbcp.BasicDataSourceFactory driverClassName oracle.jdbc.driver.OracleDriver url jdbc:oracle:thin:70:1521:infordb username system password manager - !- driverClassName COM..DB2Driver url jdbc:db2:/infor/infordb username db2admin password db2admin - -JNDI是J2EE中一个很重要的标准,通常我们是在EJB编程中用到, Tomcat4.0中提供了在JSP和Servelt中直接使用JNDI的方法,下面谈一下在Tomcat4.0中配置和使用JNDI的方法 (以通过JNDI连接数据库为例) 假设使用的数据库是mysql,实验例子在TOMCAT_HOME/webapps/DBTest目录中 A.将mysql的JDBC连接库mm.mysql-2.0.9-bin.jar放入TOMCAT_HOME/common/lib中 B.配置TOMCAT_HOME/conf/serer.xml文件在段中加入一个Context: 这是DBTest的根路径,这是为了在DBTest中使用做准备. C.在上面加入的段加入 factory mons.dbcp.BasicDataSourceFactory maxActive 100 maxIdle 30 maxWait 10000 username test password test driverClassName org.gjt.mm.mysql.Driver url jdbc:mysql:/localhost:3306/test 我们可以将按照Sample加入,主要修改的是driverClassName,url,和用户帐号;需要强调的是jdbc/TestDB就是JDNI要查找的Name. D. 在JSP或servlet中使用JNDI查找服务 下面是在JSP文件中关于JNDI使用的代码(文件名记为UserHandleDB.jsp) 需要注意的是JNDI NAME要在前面加上java:comp/env/ % String jndi_name=java:comp/env/jdbc/TestDB; String select_user_sql=select userid,name,birthday, email from emp; String colnames=User ID,Name,Birth day,EMail, userid,name,birthday,email; Vector userSet=new Vector(); Vector columnSet=new Vector(); for(int i=0;icolnames0.length;i+) columnSet.add(colnames0i); userSet.add(columnSet); Context ctx = new InitialContext(); if(ctx = null ) throw new Exception(No Context); DataSource ds = (DataSource)ctx.lookup(jndi_name); Connection conn = ds.getConnection(); try PreparedStatement psPreparedStatement=conn.prepareStatement(select_user_sql); ResultSet resultSet = psPreparedStatement.executeQuery(); while(resultSet.next() columnSet=new Vector(); for(int i=0;i E. 引用UserHandleDB.jsp(记为ViewTable.jsp) Test Database % for(int i=0;iuserSet.size();i+) Vector colSet=(Vector)userSet.get(i); out.print(); for(int j=0;jcolSet.size();j+) String col=(String)colSet.get(j); out.print(+col+); out.print(); % F. 在web.xml中加入 DB Connection jdbc/TestDB javax.sql.DataSource Container 这里的jdbc/TestDb要和C中Resource段的name匹配 G. 观察结果 首先确定数据库已经启动,接着启动Tomcat,如果Tomcat启动异常,可能的原因是数据库的JDBC库没有加载 最后打开浏览器,访问 http:/localhost:8080/DBTest/ViewTable.jsp就可以看到结果 三,使用框架自带连接数据库 下面是一段Struts-config.xml配置文件中的数据源配置(使用GenericDataSource数据源实现),你可以更改相应的设置以适合你自己的系统。 使用BasicDataSource数据源实现的配置方案如下: 注意,你可以在你的应用系统中定义不止一个数据源,你可以根据需要定义多个数据源,并为它们分别起一个逻辑名(logical name)。这样做可以给你的应用系统提供更好的安全性和可测量性(scalability),你还可以定义一个专用于测试的数据源。 配置好DataSource以后,你就可以在你的应用系统中使用这些数据源了。下面这段代码演示了怎样在Action类的execute方法中通过这些数据源来生成数据库连接。public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception DataSource dataSource; Connection cnn; try dataSource = getDataSource(request); cnn = dataSource.getConnection(); / 数据连接已经建立了,你可以做你想做的事情了 catch (SQLException e) getServlet().log(处理数据库连接, e); finally / 在finally块里包含这些代码 / 用以保证连接最后会被关闭 try cnn.close(); catch (SQLException e) getServlet().log(关闭数据库连接, e); 注意:如果你使用公共的BasicDataSource,你提供给pingQuery属性的查询语句(如果你设置了话)必须至少要能返回一行记录

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论