Spring_SpringMVC_Mybatis基本整合

4 篇文章 0 订阅
2 篇文章 0 订阅

SSM整合

创建新的maven项目

将jdk默认版本改为1.8

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 在pom文件中(需添加packaging标签为war)导入所需的~jar包坐标artifactId为:
    • mysql-connector-java(java连接数据库所需)
    • c3p0或druid(数据库连接池使用新版本)
    • junit(测试)需要额外添加scope标签
    • spring-context(spring环境依赖)
    • spring-test(spring测试依赖)
    • spring-web(springweb项目依赖)
    • spring-webmvc(springweb三层架构依赖)
    • javax.servlet-api(web开发所需的基本类及接口)
    • javax.servlet.jsp-api(对servlet的支持需要scope标签为provided)
    • jackson-databind(json数据转为对象的依赖)
    • jackson-annotations(普通数据和json数据相互转化)
    • commons-fileupload(实现文件上传功能)
    • commons-io(实现文件上传功能)
    • commons-logging(日志记录)
    • slf4j-log4j12(日志记录)
    • log4j(日志记录)
    • spring-jdbc(对spring对JDBC的支持)
    • spring-tx(提供spring对事物的支持)
    • jstl(提供jsp的标准标签库与EL表达式配合)
    • pagehelper(提供分页插件支持)
    • mybatis依赖(基于Java持久层的框架)
    • mybatis-spring(mybatis依赖)
    • aspectjweaver(springAOP依赖)

创建web.xml

  • 整合spring容器注意路径
  • 整合springmvc容器注意路径
  • 配置字符编码过滤器tomcat8.5以上的版本的post请求的中文乱码

创建Spring容器的applicationContext.xml

  • 加载数据库连接配置文件
  • 配置数据源对象(上述配置文件配置为对象)
  • 基于上述配置出JdbcTemplate对象
  • 配置分页插件
  • 配置声明式事务管理
  • 扫描service
  • 扫描mapper(dao的接口)

创建SpringMVC容器的spring-mvc.xml

  • 扫描controller(servlet)

  • 配置mvc注解驱动

  • 视图解析器InternalResourceViewResolver(前缀,后缀)

  • 文件上传解析器

    • <bean id="multipartResolver" class="CommonsMultipartResolver">`
      

创建Mybatis配置文件

  • mapper.xml(负责管理sql语句,根据动态代理实现对接口的实例化)

    • 不同类型的sql使用不同的标签

    • <mapper namespace="mapper接口所在的全包名">
          <resultMap id="orderMap" type="结果集中形参所在的全包名一般在domain中">
              <result column="列名" property="属性"></result>
              <result column="username" property="user.username"></result>
              <result column="password" property="user.password"></result>
              <result column="birthday" property="user.birthday"></result>
          </resultMap>
          <select id="findAll" resultMap="orderMap"与上述定义的mapid相同>
              select * from orders o,user u where o.uid=u.id
          </select>
      </mapper>
      
      
    insert into role values(#{id},#{roleName},#{roleDesc}) select * from user insert into user values(#{id},#{username},#{email},#{password},#{phoneNum}) select * from role
    
    

在Java目录下创建包

所有需要创建对象的地方使用@Autowired

  • mapper(dao层的接口)

    • 定义所需方法的返回值类型和参数类型
      • 具体的sql语句、返回值类型、参数在mapper.xml中具体配置
  • domain(表的对象)

    • 按照表名(属性)定义不同的实现类
  • service(需要实现类)

    • 实现类中
      • 使用@Service(“资源路径名”)
      • @Autowired(此对象的实例化由spring完成)
  • controller与页面进行数据交互

    • @Controller
    • @RequestMapping("/资源路径名")
    • @Autowired(此对象的实例化由spring完成)
    • @RequestBody
    • @ResponseBody
  • 配置测试类

    • @Run With(SpringJUnit4ClassRunner.class)类注解
    • @ContextConfiguration(“classpath:applicationContext.xml”)
    • 调用方法使用@Autowired注解调用service对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值