国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Tomcat6 下 MySQL 5.1 數據源配制

2019-11-17 03:49:47
字體:
來源:轉載
供稿:網友

數據源配制中有一些參數,不太明白,不明白的咱不說.在這說兩種我用過的.

 首先在apache-tomcat-6.0.16/lib  路徑下的  MySQL JDBC 5.1  驅動不能少.

 第一種是在TomCat 里配制apache-tomcat-6.0.16/conf/context.xml 如下:

Xml代碼
<?xml version='1.0' encoding='utf-8'?> 
<Context> 
    <Resource name="jdbc/myTest" auth="Container" 
        type="javax.sql.DataSource" username="root" passWord="" 
        driverClassName="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://192.168.0.68:3306/points" /> 
    <WatchedResource>WEB-INF/web.xml</WatchedResource> 
</Context> 

<?xml version='1.0' encoding='utf-8'?>
<Context>
 <Resource name="jdbc/myTest" auth="Container"
  type="javax.sql.DataSource" username="root" password=""
  driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://192.168.0.68:3306/points" />
 <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
 name 是數據源名稱.格式是:"jdbc/數據源名稱"

username,password 不用說了.這里password 密碼為空.

url 和 JDBC 驅動配相同.
http://bizhi.VeVb.com/
第二種是在項目里面配.WebRoot/META-INF/context.xml  中配:

Xml代碼
<?xml version="1.0" encoding="UTF-8"?> 
<Context> 
    <Resource name="jdbc/test" auth="Container" 
        type="javax.sql.DataSource" username="root" password="" 
        driverClassName="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://192.168.0.68:3306/points" /> 
</Context> 

<?xml version="1.0" encoding="UTF-8"?>
<Context>
 <Resource name="jdbc/test" auth="Container"
  type="javax.sql.DataSource" username="root" password=""
  driverClassName="com.mysql.jdbc.Driver"
  url="jdbc:mysql://192.168.0.68:3306/points" />
</Context>和在 Tomcat 里面幾乎一樣. context.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) ctx.lookup("java:comp/env/jdbc/test");  
    conn = ds.getConnection();  
    pst = conn.prepareStatement(sqlStr);  
    pst.clearBatch();  
    for (int i = 0; i < 4; i++) {  
        pst.setString(1, "good " + i);  
        pst.setString(2, "isw " + i);  
        // 使用batch,將多個sql操作作為一個單元傳輸給數據庫,  
        // Hibernate 中 jdbc.batch_size 網上推薦 30  
        pst.addBatch();  
    }  
    pst.executeBatch();  
    rst = pst.executeQuery("select * from user");  
    // Fetch Size 是設定JDBC的prepareStatement讀取數據的時候每次從數據庫中取出的記錄條數,  
    // Hibernate 中 jdbc.fetch_size 網上推薦 50  
    rst.setFetchSize(50);  
    while (rst.next()) {  
        System.out.println(rst.getString(3));  
        list.add(rst.getString(3));  
    }  
} catch (Exception e) {  
    e.printStackTrace();  
    return ERROR;  
} finally {  
    try {  
        rst.close();  
        pst.close();  
        conn.close();  
    } catch (SQLException e) {  
        e.printStackTrace();  
    }  

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) ctx.lookup("java:comp/env/jdbc/test");
 conn = ds.getConnection();
 pst = conn.prepareStatement(sqlStr);
 pst.clearBatch();
 for (int i = 0; i < 4; i++) {
  pst.setString(1, "good " + i);
  pst.setString(2, "isw " + i);
  // 使用batch,將多個sql操作作為一個單元傳輸給數據庫,
  // Hibernate 中 jdbc.batch_size 網上推薦 30
  pst.addBatch();
 }
 pst.executeBatch();
 rst = pst.executeQuery("select * from user");
 // Fetch Size 是設定JDBC的prepareStatement讀取數據的時候每次從數據庫中取出的記錄條數,
 // Hibernate 中 jdbc.fetch_size 網上推薦 50
 rst.setFetchSize(50);
 while (rst.next()) {
  System.out.println(rst.getString(3));
  list.add(rst.getString(3));
 }
} catch (Exception e) {
 e.printStackTrace();
 return ERROR;
} finally {
 try {
  rst.close();
  pst.close();
  conn.close();
 } catch (SQLException e) {
  e.printStackTrace();
 }
}    上面說一下,大家都說Hibernate 執行數據庫操作要比手動JDBC 效率要高,這是因為它對查詢進行了一些優化,Fetch Size,Batch 也許只是冰山一角.說到這里就提了一下它們的用法.

 

關于 Fectch Size,Batch 下面的博客給出較詳細的說明.

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

 

數據源在Hibernate 中的使用  hibernate.cfg.xml

Xml代碼
<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC  
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
          " 
<!-- Generated by MyEcl
ipse Hibernate Tools.                   --> 
<hibernate-configuration> 
    <session-factory> 
                <!-- 下面是數據源的配制  --> 
        <property name="connection.datasource"> 
            java:comp/env/jdbc/test  
        </property> 
                <!-- 數據庫方言 --> 
        <property name="dialect"> 
            org.hibernate.dialect.MySQLDialect  
        </property> 
        <property name="jdbc.batch_size">25</property> 
        <property name="jdbc.fetch_size">50</property> 
        <mapping resource="com/isw2/entity/UserBean.hbm.xml" /> 
    </session-factory> 
</hibernate-configuration> 

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
 <session-factory>
                <!-- 下面是數據源的配制  -->
  <property name="connection.datasource">
   java:comp/env/jdbc/test
  </property>
                <!-- 數據庫方言 -->
  <property name="dialect">
   org.hibernate.dialect.MySQLDialect
  </property>
  <property name="jdbc.batch_size">25</property>
  <property name="jdbc.fetch_size">50</property>
  <mapping resource="com/isw2/entity/UserBean.hbm.xml" />
 </session-factory>
</hibernate-configuration> 
 

人生之所以的許許多多的半途而廢及心有不甘,不過因為我們沒有堅持自己的理想罷了,只要我們不放棄,理想終會實現.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新竹县| 镇康县| 庆云县| 舞钢市| 合作市| 龙胜| 兰西县| 新郑市| 永清县| 桃江县| 内丘县| 博客| 卫辉市| 邵东县| 盐城市| 工布江达县| 海原县| 二连浩特市| 大同市| 德江县| 石河子市| 大城县| 弥勒县| 冷水江市| 平和县| 长子县| 肥西县| 麻栗坡县| 武乡县| 尼木县| 东乡族自治县| 鄂伦春自治旗| 陵川县| 阿荣旗| 东方市| 茶陵县| 丰镇市| 乳山市| 祁连县| 盘锦市| 常德市|