使用到的jar包:
dist\spring.jar
lib\jakarta-commons\commons-logging.jar
Aop编程需要的:
lib\aspectj\aspectjweaver.jar aspectjrt.jar
libt\cglib\cglib-nodep.jar
注解需要的:
lib\j2ee\common-annotations.jar
数据源需要的
lib\jakarta-commons\commons-dbcp.jar
lib\jakarta-commons\commons-pool.jar
数据库驱动
一.使用注解方式
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url" value="jdbc:sqlserver://localhsot:1433;databaseName=F10" />
<property name="username" value="sa" />
<property name="password" value="1" />
<!--连接池启动时的初始化-->
<property name="initialSize" value="1"/>
<!--连接池的最大值-->
<property name="maxActive" value="500"/>
<!-- 最大空闲值,当经过一个高峰时间后,连接池可以慢慢将已经用不到的链接慢慢释放一部分,一直减少到maxle为止 -->
<property name="maxIdle" value="2"/>
<!-- 最小空闲值,当空闲的连接数少于阀值时,连接池就会预申请去一些链接,以免洪峰来时来不及申请-->
<property name="minIdle" value="1"/>
</bean>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 采用注解方式使用事务 -->
<tx:annotation-driven transaction-manager="txManager"/>
<bean name="loginService" class="com.hx.springjdbc.service.impl.LoginServiceImpl">
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>
操作类
private JdbcTemplate jdbcTemplate;
public void setDataSource(BasicDataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public void delete(int id) {
// TODO Auto-generated method stub
jdbcTemplate.update("delete from Login where id=?",new Object[]{id},new int[]{java.sql.Types.INTEGER});
}
public Login getLogin(int id) {
// TODO Auto-generated method stub
return (Login)jdbcTemplate.queryForObject("select * from Login where id=?",new Object[]{id},new LoginRowMapper());
}
public List<Login> getLogins() {
// TODO Auto-generated method stub
return (List<Login>)jdbcTemplate.query("select * from Login", new LoginRowMapper());
}
public void save(Login login) {
// TODO Auto-generated method stub
jdbcTemplate.update("insert into login(name) values(?)",new Object[]{login.getName()},new int[]{java.sql.Types.VARCHAR});
}
public void update(Login login) {
// TODO Auto-generated method stub
jdbcTemplate.update("update Login set name=? where id=?",new Object[]{login.getName(),login.getId()},new int[]{java.sql.Types.VARCHAR,java.sql.Types.INTEGER});
}