ITPub博客

首页 > IT职业 > IT图书 > 使用Maven整合SSM总结

使用Maven整合SSM总结

IT图书 作者:Lexus 时间:2021-09-09 09:01:27 0 删除 编辑

项目环境:

spring-4.3.7 + mybatis-3.3.0 + maven-3.3.9 + oracle11g
  1. 首先使用maven引入相关依赖:
    pom.xml:
4.0.0com.ssmssmwar0.0.1-SNAPSHOTutf-8<!-- spring官方提供的依赖管理器,便于统一管理 -->org.springframeworkspring-framework-bom4.3.7.RELEASEpomimport<!-- 引入web工程所需的依赖 -->javax.servletjavax.servlet-api3.1.0providedjavax.servlet.jspjsp-api2.2provided<!-- 引入测试所需的依赖,使用spring4.3.x版本整合需要引入junit4.12及以上 -->junitjunit4.12testi
           org.springframeworkspring-test<!-- 整合SpringMVC会自动引入其他所需的spring核心依赖 -->org.springframeworkspring-webmvc<!-- 添加mybatis依赖 -->org.mybatismybatis3.3.0<!-- 添加mybatis与sping整合依赖 -->org.springframeworkspring-ormorg.mybatismybatis-spring1.2.3<!-- 数据库依赖,使用oracle需要手动将oracle安装到本地maven仓库(版权问题) -->com.oracleojdbc712.1.0.2<!-- dbcp数据库连接池依赖 -->commons-dbcpcommons-dbcp1.4<!-- logback日志依赖 -->ch.qos.logbacklogback-classic1.1.7<!-- 添加JSTL标签库 -->javax.servletjstl1.2taglibsstandard1.1.2
  1. 搭建mybatis环境:

    使用mapper代理的方式:定义一个接口EmployeeDao :

public interface EmployeeDao {

    Employee selectById(Integer id);

    List selectAll();

    int save(Employee emp);

    int update(Employee emp);

    int delete(Integer id);

}

对应的mapper映射文件:

<!-- namespace一定要对应接口的全类名 --><!-- mybatis会自动将结果集映射为employee的List -->
           insert into emp(empno, ename, job, mgr, hiredate, sal, comm)
           values(#{empno}, #{ename}, #{job}, #{mgr}, #{hireDate}, #{sal},  #{comm})
     
           update emp set ename = #{ename}, job = #{job}, mgr = #{mgr}, hiredate = #{hireDate}, sal = #{sal}, comm = #{comm} where empno = #{empno}
     
           delete from emp where empno = #{empno}
     
  1. spring整合mybatis

    使用logback输出日志:logback.xml :

%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg %n
                

jdbc.properties:

jdbc.driverClass=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.username=scott
jdbc.password=scott

spring-mybatis.xml:

<!-- 配置c3p0数据源 --><!-- 注入MyBatis的SqlSessionFactory对象 --><!-- 配置MyBatis全局配置文件 --><!-- 扫描mapper需要的映射文件,可以使用通配符 --><!-- 扫描entity包,使用别名 --><!-- 配置需要扫描的Dao接口,动态实现,并注入到spring的IOC容器中 --><!-- 不建议注入sqlSessionFactory --><!-- 配置需要扫描的Dao接口的包 --><!-- 扫描service层-->
  
  <!-- 配置事务管理器 -->
  
       
  
  <!-- 开启注解式事务驱动 -->
  
  1. spring整合springmvc

    首先需要在web.xml中配置springmvc的核心Servlet控制器:

springDispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-*.xml1springDispatcherServlet<!-- 不要写成"/*" -->/

写自己的handler :

@Controller
@RequestMapping("/emp")
public class EmployeeHandler {

    @Autowired
    private EmployeeService employeeService;

    @RequestMapping(value="/list")
    public String list(HttpServletRequest request) {
        List list = employeeService.selectAll();
        request.setAttribute("employees", list);
        return "list";
    }

    @RequestMapping(value="/selectById")
    public String selectById(Integer id, HttpServletRequest request) {
        Employee emp = employeeService.selectById(id);
        request.setAttribute("employee", emp);
        return "details";
    }

    @RequestMapping(value="/add")
    public String add(Employee emp) {
        return "add";
    }

    @RequestMapping(value="/save")
    public String save(Employee emp) {
        employeeService.save(emp);
        return "redirect:list";
    }

    @RequestMapping(value="/update")
    public String update(Employee emp) {
        employeeService.update(emp);
        return "redirect:list";
    }

    @RequestMapping(value="/delete")
    public String delete(Integer id) {
        employeeService.delete(id);
        return "redirect:list";
    }

}

配置spring-web.xml:

<!-- 开启SpringMVC注解模式
       简化配置:
          1. 自动注册DefaultAnnotationHandlerMapping,AnnotationMethodHandlerAdapter
          2. 提供一系列默认支持:数据绑定、日期格式转换,xml&json支持
    --><!-- 静态资源默认servlet配置
           1. 加入对静态资源的处理:js,css,gif
           2. 允许使用"/"做整体映射
    --><!-- 配置视图解析器 -->

以上即为基础的整合过程

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3104/viewspace-2798706/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-30

  • 博文量
    86
  • 访问量
    612