Open ywlcn opened 5 years ago
<Context docBase="test" path="/test" reloadable="true" source="org.eclipse.jst.jee.server:test">
<Resource name="jdbc/TestDB"
global="jdbc/TestDB"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/testdb"
username="username"
password="password"
maxActive="100"
maxIdle="20"
minIdle="5"
maxWait="10000"/>
</Context>
<resource-ref>
<res-ref-name>jdbc/TestDB</res-ref-name>
<res-type>java.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
程序配置
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/TestDB"/>
</bean>
<bean class="XXXXXX.XXXXXXDao">
<property name="dataSource" ref="dataSource"></property>
</bean>
<jdbc:embedded-database type="H2" id="dataSource" />
<jdbc:initialize-database data-source="dataSource">
<jdbc:script location="classpath:/db/function.sql" />
</jdbc:initialize-database>
与 RowMapper 的区别是 可以对 RusultSet进行 Next操作, 所以可以一次把所有的数据处理完。 RowMapper 可以取 但是不推荐
没有返回值 Override void processRow
new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException
{
Userinfo user= new Userinfo();
user.setName(rs.getString("XXXX"));
user.setPass(rs.getString("XXXX"));
user.setId(rs.getInt("XXX"));
lists.add(user);
}
}
事務處理
傳播Level 事務裏面調用事務
Error
程序里面定义
jdbc.driverClassName=org.gjt.mm.mysql.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/test_db jdbc.username=root jdbc.password=root