特色栏目

ASP源码

PHP源码

.NET源码

JSP源码

游戏频道
专题合集
关闭菜单
首页> JSP教程> Tomcat6 下 MySQL 5.1 数据源配制

Tomcat6 下 MySQL 5.1 数据源配制

时间:2010-02-04 15:26:08 作者:互联网

数据源配制中有一些参数,不太明白,不明白的咱不说.在这说两种我用过的.

 首先在ap***e-tomcat-6.0.16lib  路径下的  mysql JDBC 5.1  驱动不能少.

 第一种是在TomCat 里配制ap***e-tomcat-6.0.16confco***xt.xml 如下:

Xml代码
 
 
            type="ja***.sql.DataSource" username="root" password="" 
        driverClassName="co***ysql.jdbc.Driver
        url="jd***mysql://192.168.0.68:3306/points" /> 
    WE***NF/web.xml 
 



    type="ja***.sql.DataSource" username="root" password=""
  driverClassName="co***ysql.jdbc.Driver"
  url="jd***mysql://192.168.0.68:3306/points" />
 WE***NF/web.xml

 name 是数据源名称.格式是:"jdbc/数据源名称"

username,password 不用说了.这里password 密码为空.

url 和 JDBC 驱动配相同.
http://bizhi.knowsky.com/
第二种是在项目里面配.WebRoot/META-INF/co***xt.xml  中配:

Xml代码
 
 
            type="ja***.sql.DataSource" username="root" password="" 
        driverClassName="co***ysql.jdbc.Driver
        url="jd***mysql://192.168.0.68:3306/points" /> 
 



    type="ja***.sql.DataSource" username="root" password=""
  driverClassName="co***ysql.jdbc.Driver"
  url="jd***mysql://192.168.0.68:3306/points" />
和在 Tomcat 里面几乎一样. co***xt.xml  要注意是在 META-INF 下新建 是自己新建的.

 

 

数据源的使用:

Java代码
list = new ArrayList();  
Connection conn = null;  
DataSource ds = null;  
PreparedStatement pst = null;  
ResultSet rst = null;  
String sqlStr = "insert into `user`(`userNo`,`userName`) values (?,?)";  
try {  
    InitialContext ctx = new InitialContext();  
    ds = (DataSource) ct***ookup("java:comp/env/jdbc/test");  
    conn = ds***tConnection();  
    pst = co***prepareStatement(sqlStr);  
    ps***learBatch();  
    for (int i = 0; i < 4; i++) {  
        ps***etString(1, "good " + i);  
        ps***etString(2, "isw " + i);  
        // 使用batch,将多个sql操作作为一个单元传输给数据库,  
        // Hibernate 中 jd***batch_size 网上推荐 30  
        ps***ddBatch();  
    }  
    ps***xecuteBatch();  
    rst = ps***xecuteQuery("select * from user");  
    // Fetch Size 是设定JDBC的prepareStatement读取数据的时候每次从数据库中取出的记录条数,  
    // Hibernate 中 jd***fetch_size 网上推荐 50  
    rs***etFetchSize(50);  
    while (rst.next()) {  
        Sy***m.out.println(rs***etString(3));  
        list.add(rs***etString(3));  
    }  
} catch (Exception e) {  
    e.***ntStackTrace();  
    return ERROR;  
} finally {  
    try {  
        rs***lose();  
        ps***lose();  
        co***close();  
    } catch (SQLException e) {  
        e.***ntStackTrace();  
    }  

list = new ArrayList();
Connection conn = null;
DataSource ds = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sqlStr = "insert into `user`(`userNo`,`userName`) values (?,?)";
try {
 InitialContext ctx = new InitialContext();
 ds = (DataSource) ct***ookup("java:comp/env/jdbc/test");
 conn = ds***tConnection();
 pst = co***prepareStatement(sqlStr);
 ps***learBatch();
 for (int i = 0; i < 4; i++) {
  ps***etString(1, "good " + i);
  ps***etString(2, "isw " + i);
  // 使用batch,将多个sql操作作为一个单元传输给数据库,
  // Hibernate 中 jd***batch_size 网上推荐 30
  ps***ddBatch();
 }
 ps***xecuteBatch();
 rst = ps***xecuteQuery("select * from user");
 // Fetch Size 是设定JDBC的prepareStatement读取数据的时候每次从数据库中取出的记录条数,
 // Hibernate 中 jd***fetch_size 网上推荐 50
 rs***etFetchSize(50);
 while (rst.next()) {
  Sy***m.out.println(rs***etString(3));
  list.add(rs***etString(3));
 }
} catch (Exception e) {
 e.***ntStackTrace();
 return ERROR;
} finally {
 try {
  rs***lose();
  ps***lose();
  co***close();
 } catch (SQLException e) {
  e.***ntStackTrace();
 }
}    上面说一下,大家都说Hibernate 执行数据库操作要比手动JDBC 效率要高,这是因为它对查询进行了一些优化,Fetch Size,Batch 也许只是冰山一角.说到这里就提了一下它们的用法.

 

关于 Fectch Size,Batch 下面的博客给出较详细的说明.

http://xuganggogo.javaeye.com/blog/440516

 

数据源在Hibernate 中的使用  hi***nate.cfg.xml

Xml代码
 
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
 
 
 
     
                 
        co***ction.datasource"> 
            java:comp/env/jdbc/test  
       
 
                 
         
            or***ibernate.dialect.MySQLDialect 
       
 
        jd***batch_size">25 
        jd***fetch_size">50 
        co***sw2/entity/UserBean.hbm.xml" /> 
   
 
 


          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">



 
               
  co***ction.datasource">
   java:comp/env/jdbc/test
 

               
 
   or***ibernate.dialect.MySQLDialect
 

  jd***batch_size">25
  jd***fetch_size">50
  co***sw2/entity/UserBean.hbm.xml" />
 

 
 

人生之所以的许许多多的半途而废及心有不甘,不过因为我们没有坚持自己的理想罢了,只要我们不放弃,理想终会实现.

 

相关文章

相关应用

热门文章

猜你喜欢

返回顶部