1.定义实体类Student

2.定义Student表

3.定义index页面

4.定义处理器

5.定义Service

6.定义Dao接口

7.定义Dao的Mapper配置文件

8.定义MyBatis的主配置文件(很多配置已经在spring-mybatis文件中完成了)

 <!-- 该配置文件中主要用于注册 Mapper 中所使用的 类的 别名,及Mapper的位置 -->
<configuration>
<!-- 别名 -->
<typeAliases>
<package name="com.ssm.model"/>
</typeAliases> <!-- Mapper 位置 -->
<mappers>
<package name="com.ssm.dao"/>
</mappers>
</configuration>

9.定义jdbc.prperties

10.定义Spring的配置文件

  (1)spring-db.xml

  (2)spring-mybatis.xml

 <!-- 该配置文件 主要用于 注册 SqlSessionFactoryBean 以及 Mapper 动态代理生成器的Bean -->

     <!-- 注册 SqlSessionFactory的Bean -->
<!-- InputStream in = Resources.getResourceAsStream("mybatis.xml");
session = new SqlSessionFactoryBuilder().build(in).openSession(); -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 指定mybatis 主配置文件位置 -->
<property name="configLocation" value="classpath:resources/mybatis.xml"/>
</bean> <!-- 也可以使用Mapper 动态代理的方式,来生成 Dao 的 代理对象,但是这种方式一次 只能 生成一个 Dao 的代理对象,如果有多个类型的Dao,那么就需要配置多次
<bean id="studentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
<property name="mapperInterface" value="com.ssm.dao.StudentDao"></property>
</bean>
-->
<!-- 注册 Mapper 扫描 配置器(为指定包中的 所有接口生成代理对象) -->
<!-- 生成 Dao 的代理对象,使用 Mapper 配置扫描器 会为指定包中的 所有接口生成代理对象-->
<!-- 需要注入该 代理对象时,使用 的 是 ref,(ref="IStudentDao" 或 ref="studentDao") -->
<!-- <property name="dao" ref="studentDao"></property> --> <!-- studentDAO = sqlSession.getMapper(StudentDAO.class); -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<!-- 指定基本扫描包,即Dao接口包 -->
<property name="basePackage" value="com.ssm.dao"></property>
</bean>

  

  (3)spring-service.xml

  (4)spring-tx.xml

    

 <!-- 配置事务管理器 -->
<!-- 开启Spring中的事务管理(声明式的事务管理) xml-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean> <!-- 注册 事务通知 -->
<!-- 具体的advice(逻辑) 由 自之前定义的TransactionManager 来指定-->
<tx:advice transaction-manager="transactionManager" id="transactionAdvice">
<tx:attributes>
<tx:method name="add*" isolation="DEFAULT" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice> <!-- aop 配置 -->
<!-- 想要进行事务管理,都需要运用到 AOP ,往方法前后加入开启事务 和 关闭事务的 逻辑,所以用xml 进行声明式的事务管理,也需要用到AOP -->
<aop:config>
<aop:pointcut expression="execution(* *..service.*.*(..))" id="myPointCut"/>
<aop:advisor advice-ref="transactionAdvice" pointcut-ref="myPointCut"/>
</aop:config>

11.定义SpringMVC配置文件

12.定义视图页面 show.jsp

最新文章

  1. BZOJ3161 : 孤舟蓑笠翁
  2. mysqlbinglog基于即时点还原
  3. HTML DOM 实例-Document 对象
  4. 由索引节点(inode)爆满引发的问题
  5. 用c语言程序对显存进行操作
  6. Codeforces 484E Sign on Fence(是持久的段树+二分法)
  7. poj2823一道纯单调队列
  8. java配置环境及安装
  9. android网页打印,安卓网页打印,h5页面打印,浏览器打印,js打印工具
  10. hbase0.94.11版本和hbase1.4.9版本的benchamark区别
  11. python+unittest+requests+HTMLRunner编写接口自动化测试集
  12. 【paper】MTCNN
  13. Hadoop项目开发笔录
  14. [转] ES6 import/export:模块导入导出方式
  15. Python写的链接数据库存取数据
  16. 监测uitableview 向上滑动和向下滑动的事件
  17. Mac eclipse 编译、调试c++ 程序
  18. HTML5实现摇一摇的功能(实测后)--转
  19. bit byte哪些事
  20. 游戏服务器的思考之三:谈谈MVC

热门文章

  1. 高级java面试宝典
  2. spring boot入门学习---1
  3. logback 和 log4j对比,及相关配置
  4. eclipse、MyEclipse 修改字符集和JDK
  5. Java NIO 学习笔记 缓冲区补充
  6. delphi DBTreeview与数据库连接的数据存取
  7. MapReduce编程实例
  8. intel 酷睿core系列cpu的类型:U M H HQ MQ
  9. unity3d 触屏多点触控(旋转与缩放)
  10. Spark中foreachRDD的正确使用