1.先下载how2j网站上的案例,运行成功。
1. 浏览器上访问 /listCategory
2. tomcat根据web.xml上的配置,所有的访问都会被SpringMVC的DispatcherServlet拦截。/listCategory被拦截并被交给DispatcherServlet处理。
3. DispatcherServlet 根据springMVC的配置,将这次请求交由CategoryController类进行处理,实例化CategoryController。
4. 在实例化CategoryController的时候,注入CategoryServiceImpl。 (自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl)
5. 在实例化CategoryServiceImpl的时候,又注入CategoryMapper
6. 根据ApplicationContext.xml中的配置信息,将CategoryMapper和Category.xml关联起来了。
7. CategoryController实例化完成后,调用 list 方法
8. 在list方法中,访问CategoryService,并获取数据,并把数据放在"cs"上,接着服务端跳转到listCategory.jsp去
9. listCategory.jsp 中显示数据。
ssm一般的编码顺序是:pojo实体类-->mapper-->service-->controller-->test-->jsp页面。
2.增加对product_表的操作。
product.xml:
<mapper namespace="com.how2java.mapper.ProductMapper">
<insert id="add" parameterType="Product" >
insert into product_ ( name,price ) values (#{name},#{price})
</insert>
<delete id="delete" parameterType="Product" >
delete from product_ where id= #{id}
</delete>
<select id="get" parameterType="_int" resultType="Product">
select * from product_ where id= #{id}
</select>
<update id="update" parameterType="Product" >
update product_ set name=#{name},price=#{price} where id=#{id}
</update>
<select id="list" resultType="Product">
select * from product_ order by id asc
</select>
</mapper>
修改ProductController:
添加数据:
添加成功:
修改第一条数据:
修改成功:
3.增加对教材第12章中Users表的操作。
建表users:
listUsers:
添加用户信息:
添加成功:
修改id=9的用户信息:
修改成功:
Spring
Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。
mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。