SpringMvc(三)
-
创建数据库和结构表:
create database ssm;
use ssm;
create table account(
id int primary key auto_increment,
name varchar(20),
money double
);
-
Spring 整合 SpringMVC:
- 启动 Tomcat 服务器的时候,需要加载 Spring 的配置文件
在 web.xml 中配置如下:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationConfig.xml</param-value>
</context-param>
在 controller 中调用业务 service 层方法
@Controller
@RequestMapping("/account")
public class AccountController {
@Autowired
private AccountService accountService;
@RequestMapping("/findAll")
public String findAll(){
System.out.println("表现层:查询所有账户……");
accountService.findAll();
return "list";
}
}
-
Spring 整合 MyBatis 框架
- 在applicationConfig.xml 中配置
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.ssm.dao"/>
</bean>
之后要在 IAccountDao 上面添加注解@Repository
- 如果要实现保存方法,则需要手动进行事务管理,所以在此处需要配置 Spring 声明式事务管理
<bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<tx:advice id="txAdvice" transaction-manager="dataSourceTransactionManager">
<tx:attributes>
<tx:method name="find*" read-only="true"/>
<tx:method name="*" isolation="DEFAULT"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor advice-ref="txAdvice"
pointcut="execution(* com.ssm.service.impl.*ServiceImpl.*(..))"></aop:advisor>
</aop:config>
在 service 中调用dao 层的方法
@Service("accountService")
public class AccountServiceImpl implements AccountService {
@Autowired
private IAccountDao accountDao;
@Override
public List<Account> findAll() {
System.out.println("业务层,查询所有账户……");
return accountDao.findAll();
}
@Override
public void saveAccount(Account account) {
System.out.println("业务层,保存账户……");
accountDao.saveAccount(account);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)