Es gibt einige Parameter in der Datenquellenkonfiguration, die ich nicht ganz verstehe. Über diejenigen, die ich nicht verstehe, möchte ich hier nicht sprechen.
Zunächst einmal darf der MySQL JDBC 5.1-Treiber im Pfad apache-tomcat-6.0.16lib nicht fehlen.
Die erste besteht darin, apache-tomcat-6.0.16confcontext.xml in TomCat wie folgt vorzubereiten:
XML-Code
DriverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.0.68:3306/points" />
DriverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.0.68:3306/points" />
Name ist der Name der Datenquelle. Das Format ist: „jdbc/Datenquellenname“.
Unnötig zu erwähnen, dass Benutzername und Passwort hier leer sind.
Die URL ist dieselbe wie die JDBC-Treiberkonfiguration.
http://bizhi.knowsky.com/
Die zweite besteht darin, .WebRoot/META-INF/context.xml im Projekt zu konfigurieren:
XML-Code
DriverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.0.68:3306/points" />
DriverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.0.68:3306/points" />
Es ist fast das Gleiche wie in Tomcat. Bitte beachten Sie, dass context.xml von Ihnen selbst unter META-INF erstellt wird.
Nutzung der Datenquelle:
Java-Code
list = new ArrayList();
Verbindungsverbindung = null;
DataSource ds = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sqlStr = "in `user`(`userNo`,`userName`) Werte (?,?) einfügen";
versuchen {
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);
// Verwenden Sie Batch, um mehrere SQL-Operationen als Einheit an die Datenbank zu übertragen.
// jdbc.batch_size im Ruhezustand wird online bei 30 empfohlen
pst.addBatch();
}
pst.executeBatch();
rst = pst.executeQuery("select * from user");
// Fetch Size dient dazu, die Anzahl der Datensätze festzulegen, die jedes Mal aus der Datenbank abgerufen werden, wenn JDBCs PrepareStatement Daten liest.
// jdbc.fetch_size im Ruhezustand wird online bei 50 empfohlen
rst.setFetchSize(50);
while (rst.next()) {
System.out.println(rst.getString(3));
list.add(rst.getString(3));
}
} Catch (Ausnahme e) {
e.printStackTrace();
Rückkehr FEHLER;
} Endlich {
versuchen {
rst.close();
pst.close();
conn.close();
} Catch (SQLException e) {
e.printStackTrace();
}
}
list = new ArrayList();
Verbindungsverbindung = null;
DataSource ds = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sqlStr = "in `user`(`userNo`,`userName`) Werte (?,?) einfügen";
versuchen {
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);
// Verwenden Sie Batch, um mehrere SQL-Operationen als Einheit an die Datenbank zu übertragen.
// jdbc.batch_size im Ruhezustand wird online bei 30 empfohlen
pst.addBatch();
}
pst.executeBatch();
rst = pst.executeQuery("select * from user");
// Fetch Size dient dazu, die Anzahl der Datensätze festzulegen, die jedes Mal aus der Datenbank abgerufen werden, wenn JDBCs PrepareStatement Daten liest.
// jdbc.fetch_size im Ruhezustand wird online bei 50 empfohlen
rst.setFetchSize(50);
while (rst.next()) {
System.out.println(rst.getString(3));
list.add(rst.getString(3));
}
} Catch (Ausnahme e) {
e.printStackTrace();
Rückkehr FEHLER;
} Endlich {
versuchen {
rst.close();
pst.close();
conn.close();
} Catch (SQLException e) {
e.printStackTrace();
}
} Lassen Sie mich darüber sprechen. Alle sagen, dass Hibernate Datenbankoperationen effizienter ausführt als manuelles JDBC. Dies liegt daran, dass es einige Optimierungen für Abfragen gibt, die ich hier erwähnt habe . .
Bezüglich der Fectch-Größe gibt der Blog unter Batch eine detailliertere Erklärung.
http://xuganggogo.javaeye.com/blog/440516
Die Verwendung von Datenquellen in Hibernate hibernate.cfg.xml
XML-Code
„-//Hibernate/Hibernate Configuration DTD 3.0//EN“
" http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd ">
java:comp/env/jdbc/test
org.hibernate.dialect.MySQLDialect
„-//Hibernate/Hibernate Configuration DTD 3.0//EN“
" http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd ">
java:comp/env/jdbc/test
org.hibernate.dialect.MySQLDialect
Der Grund, warum viele von uns auf halbem Weg aufgeben und das Gefühl haben, im Leben nicht bereit zu sein, dies zu tun, liegt einfach darin, dass wir nicht an unseren Idealen festhalten. Solange wir nicht aufgeben, werden unsere Ideale irgendwann wahr.