知道美河 | 上传资料 | VIP申请 | 精品课程 | 资料搜索 | 问题反馈 | 会员手册 | 积分消费 | 积分充值 | 帐号保护
美河学习学习在线赞助VIP

美河学习在线(主站) eimhe.com

 找回密码
 建立账号
查看: 11479|回复: 11

[原创] 提供各种数据库在JDBC中的连接方法.及在struts与hibernate中的配置

[复制链接]
发表于 2007-1-5 22:43:06 | 显示全部楼层 |阅读模式
1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);  

  2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);  

  3、Sql Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
//mydb为数据库
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);  

  4、Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);  

  5、Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB为数据库名
Connection conn= DriverManager.getConnection(url);  

  6、MySQL数据库

Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost:3306/test"
//test为数据库名
Connection conn= DriverManager.getConnection(url);  

  7、PostgreSQL数据库

Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);  

  8、access数据库直连用ODBC的

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
Statement stmtNew=conn.createStatement() ;

有朋友提出一点小意见说现在都用配置文件了..哈哈.做人要灵活点哟.....

下面利用struts_config.xml小配一下...其它自行修改就可以了.我们以Mysql为例


<data-sources>
   <data-source key="infomgr_ds" type="org.apache.commons.dbcp.BasicDataSource">
     <set-property property="autoCommit" value="false" />
     <set-property property="description" value="DB Connection Pool" />

     <!-- 另外的二种连接
     <set-property property="driverClass" value="org.gjt.mm.mysql.Driver" />
     
     <set-property property="driverClass" value="sun.jdbc.odbc.JdbcOdbcDriver" />
     -->

     <set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
     <set-property property="maxCount" value="15" />
     <set-property property="minCount" value="5" />     
     <set-property property="password" value="root" />
     <set-property property="url" value="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&charactorEncoding=gbk" />
     <set-property property="username" value="root" />

<!--用odbc时
     <set-property property="user" value="" />
     <set-property property="password" value="" />
     <set-property property="url" value="jdbc:odbc:infomgr" />
     -->
    </data-source>
</data-sources>


再补充一下以hibernate数据库连接配置这回我们以orcale为例子,名为 hibernate.cfg.xml,只提供大概的东西

<hibernate-configuration>

    <session-factory>

        <property name="dialect">net.sf.hibernate.dialect.Oracle9Dialect</property>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.username">j2eelwd</property>
        <property name="connection.password">j2eelwd</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:King</property>
       <property name="connection.pool.size">1</property>
       <property name="statement_cache.size">25</property>
       <property name="jdbc.fetch_size">50</property>
       <property name="jdbc.batch_size">30</property>
       <property name="show_sql">true</property>
        </session-factory>

</hibernate-configuration>


随便说一下各个property元素:(高手,可跳过了哟..小弟也是略之一二..)  

dialect:使用了Oracle9的对照  
connection.driver_class:Oracle的JDBC驱动类名  
connection.username:Oracle数据库访问用户名  
connection.password:Oracle数据库访问密码  
connection.url:Oracle数据库访问URL  
connection.pool.size:数据库连接池大小  
statement_cache.size:JDBC statement缓冲大小  
jdbc.fetch_size:设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数  
jdbc.batch_size:设定对数据库进行批量删除,批量更新和批量插入的时候的批次大小  
show_sql:设定是否在控制台上显示向数据库提交的SQL语句,在开发调试时比较有用 (夜色老师讲的时候也用到过的哟)


这回应该算了完整些了吧......有错误的地方请指证...多谢..也请各老师请点...
DB2数据库,Sybase数据库,PostgreSQL数据库,Informix数据库
为网上所找.....因本人从未用过.不过的用教程里用到过,我看过一本就用到了,PostgreSQL
有用过的感觉不对的,可以提出你宝贵建议.

[ 本帖最后由 j2eelwd 于 2007-1-5 23:37 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2007-1-5 22:50:34 | 显示全部楼层
晕,,你配置文件就不用CLASSFORNAME,不用URL吗??

没这个你怎么配不好用的的吧....思想灵活点行不...

我也没一定让你这么用....
发表于 2007-1-5 23:03:24 | 显示全部楼层
发表于 2007-1-5 23:09:36 | 显示全部楼层
 楼主| 发表于 2007-1-6 22:32:59 | 显示全部楼层
看来偶发上来的东东不值钱哟....呵呵..光顾的人好少哟..
发表于 2007-1-7 11:31:47 | 显示全部楼层
发表于 2007-1-7 14:34:25 | 显示全部楼层
发表于 2007-1-7 14:34:45 | 显示全部楼层
发表于 2007-1-11 22:02:47 | 显示全部楼层
发表于 2007-4-14 22:43:29 | 显示全部楼层
非常全的数据库在JDBC中的连接方法,好文章,收藏了,谢谢楼主
发表于 2007-4-14 23:04:19 | 显示全部楼层
发表于 2007-4-15 14:19:21 | 显示全部楼层
您需要登录后才可以回帖 登录 | 建立账号

本版积分规则

 
QQ在线咨询

QQ|小黑屋|手机版|Archiver|美河学习在线 ( 浙网备33020302000026号 )

GMT+8, 2025-7-12 06:37

Powered by Discuz!

© 2001-2025 eimhe.com.

快速回复 返回顶部 返回列表