1.mapper.xml 中 namespace绑定Dao接口,对应接口名
通过id执行接口中的方法。增删改查的id与与接口中方法名一模一样。
<!--mapper.xml-->
<mapper namespace="mapper.AccountMapper">
<insert id="save" parameterType="domain.Account">
insert into account values(#{id},#{name},#{money});
</insert>
<select id="findall" resultType="domain.Account">
select * from account;
</select>
//mapper接口
package mapper;
import domain.Account;
import java.util.List;
public interface AccountMapper {
public void save(Account account);
public List<Account> findall();
}
2.ModelandView
model:模型 view:视图
业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该Spring MVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的页面上。
<!-- 配置视图解析器-->
<bean id="resourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"> 前缀
</property>
<property name="suffix" value=".jsp"></property> 后缀
</bean>
2.1页面跳转:
+上面视图解析器→返回地址: /WEB-INF/pages/accountList.jsp
@RequestMapping("findall") //用来处理请求地址映射的注解,可用于类或方法上。
/** public ModelAndView findall(){
List<Account> accountList = accountService.findall();
/****/
ModelAndView modelAndView=new ModelAndView();
//设置模型数据 以键值对的形式, 数据将存储到request域中
modelAndView.addObject("accountList",accountList);
//设置视图的名称 即要跳转(或者重定向)的资源路径
modelAndView.setViewName("accountList");
/**
return modelAndView;
}**/
3.上下文初始化参数
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
作用:该元素用来声明应用范围(整个WEB项目)内的上下文初始化参数。
param-name 设定上下文的参数名称。必须是唯一名称
param-value 设定的参数名称的值
1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>
2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.
3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.
4.容器创建<listener></listener>中的类实例,即创建监听.
5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext();
context-param的值 = ServletContext.getInitParameter("context-param的键");
6.得到这个context-param的值之后,你就可以做一些操作了.注意,这个时候你的WEB项目还没有完全启动完成.这个动作会比所有的Servlet都要早.
换句话说,这个时候,你对<context-param>中的键值做的操作,将在你的WEB项目完全启动之前被执行.
7.举例.你可能想在项目启动之前就打开数据库.
那么这里就可以在<context-param>中设置数据库的连接方式,在监听类中初始化数据库的连接.
8.这个监听是自己写的一个类,除了初始化方法,它还有销毁方法.用于关闭应用前释放资源.比如说数据库连接的关闭.
————复制粘贴的