• 猿创征文|Spring、SpringMVC、Mybatis整合测试


    目录

    SSM整合测试

    ①创建数据库

    ②创建maven工程

     ③pom.xml中导入对应的坐标

    ④编写实体类

    ⑤编写Mapper接口(dao接口)

     ⑥编写service接口

     ⑦编写Service接口实现

     ⑧编写Controller

     ⑨编写jsp添加页面

     ⑩编写列表jsp展示页面

    ①①编写响应的配置文件

    applicationContext.xml

    jdbc.properties

    spring-mvc.xml

    sqlMapConfig.xml

    sqlMapConfig-spring.xml

    ①②测试添加账户和账户列表

    ①③数据库中测试


    SSM整合测试

    ①创建数据库

    ②创建maven工程

     ③pom.xml中导入对应的坐标

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframeworkgroupId>
    4. <artifactId>spring-contextartifactId>
    5. <version>5.0.5.RELEASEversion>
    6. dependency>
    7. <dependency>
    8. <groupId>org.aspectjgroupId>
    9. <artifactId>aspectjweaverartifactId>
    10. <version>1.8.7version>
    11. dependency>
    12. <dependency>
    13. <groupId>org.springframeworkgroupId>
    14. <artifactId>spring-jdbcartifactId>
    15. <version>5.0.5.RELEASEversion>
    16. dependency>
    17. <dependency>
    18. <groupId>org.springframeworkgroupId>
    19. <artifactId>spring-txartifactId>
    20. <version>5.0.5.RELEASEversion>
    21. dependency>
    22. <dependency>
    23. <groupId>org.springframeworkgroupId>
    24. <artifactId>spring-testartifactId>
    25. <version>5.0.5.RELEASEversion>
    26. dependency>
    27. <dependency>
    28. <groupId>org.springframeworkgroupId>
    29. <artifactId>spring-webmvcartifactId>
    30. <version>5.0.5.RELEASEversion>
    31. dependency>
    32. <dependency>
    33. <groupId>javax.servletgroupId>
    34. <artifactId>servlet-apiartifactId>
    35. <version>2.5version>
    36. dependency>
    37. <dependency>
    38. <groupId>javax.servlet.jspgroupId>
    39. <artifactId>jsp-apiartifactId>
    40. <version>2.0version>
    41. dependency>
    42. <dependency>
    43. <groupId>org.mybatisgroupId>
    44. <artifactId>mybatisartifactId>
    45. <version>3.4.5version>
    46. dependency>
    47. <dependency>
    48. <groupId>org.mybatisgroupId>
    49. <artifactId>mybatis-springartifactId>
    50. <version>1.3.1version>
    51. dependency>
    52. <dependency>
    53. <groupId>mysqlgroupId>
    54. <artifactId>mysql-connector-javaartifactId>
    55. <version>5.1.6version>
    56. dependency>
    57. <dependency>
    58. <groupId>c3p0groupId>
    59. <artifactId>c3p0artifactId>
    60. <version>0.9.1.2version>
    61. dependency>
    62. <dependency>
    63. <groupId>junitgroupId>
    64. <artifactId>junitartifactId>
    65. <version>4.12version>
    66. dependency>
    67. <dependency>
    68. <groupId>jstlgroupId>
    69. <artifactId>jstlartifactId>
    70. <version>1.2version>
    71. dependency>
    72. dependencies>

    ④编写实体类

    1. public class Account {
    2. private Integer id;
    3. private String name;
    4. private Double money;
    5. //get set方法
    6. }

    ⑤编写Mapper接口(dao接口)

    1. public interface AccountMapper {
    2. @Insert(" insert into account values(#{id},#{name},#{money})")
    3. public void save(Account account);
    4. @Select(" select * from account")
    5. public List findAll();
    6. }

     ⑥编写service接口

    1. public interface AccountService {
    2. public void save(Account account);
    3. public List findAll();
    4. }

     ⑦编写Service接口实现

    1. @Service("accountService")
    2. public class AccountServiceImpl implements AccountService {
    3. @Autowired
    4. private AccountMapper accountMapper;
    5. @Override
    6. public void save(Account account) {
    7. accountMapper.save(account);
    8. }
    9. @Override
    10. public List findAll() {
    11. return accountMapper.findAll();
    12. }
    13. }

     ⑧编写Controller

    1. @Controller
    2. @RequestMapping("/account")
    3. public class AccountController {
    4. @Autowired
    5. private AccountService accountService;
    6. //保存
    7. @RequestMapping(value = "/save",produces = "text/html;charset=UTF-8")
    8. @ResponseBody
    9. public String save(Account account){
    10. accountService.save(account);
    11. return "提交成功";
    12. }
    13. //查询
    14. @RequestMapping("/findAll")
    15. public ModelAndView findAll(){
    16. List accountList = accountService.findAll();
    17. ModelAndView modelAndView = new ModelAndView();
    18. modelAndView.addObject("accountList",accountList);
    19. modelAndView.setViewName("accountList");
    20. return modelAndView;
    21. }
    22. }

     ⑨编写jsp添加页面

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <html>
    3. <head>
    4. <title>Titletitle>
    5. head>
    6. <body>
    7. <h1>添加账户信息表单h1>
    8. <form name="accountForm" action="${pageContext.request.contextPath}/account/save" method="post">
    9. 账户名称:<input type="text" name="name"><br>
    10. 账户金额:<input type="text" name="money"><br>
    11. <input type="submit" value="保存"><br>
    12. form>
    13. body>
    14. html>

     ⑩编写列表jsp展示页面

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    3. <html>
    4. <head>
    5. <title>Titletitle>
    6. head>
    7. <body>
    8. <h1>展示账户数据列表h1>
    9. <table border="1">
    10. <tr>
    11. <th>账户idth>
    12. <th>账户名称th>
    13. <th>账户金额th>
    14. tr>
    15. <c:forEach items="${accountList}" var="account">
    16. <tr>
    17. <td>${account.id}td>
    18. <td>${account.name}td>
    19. <td>${account.money}td>
    20. tr>
    21. c:forEach>
    22. table>
    23. body>
    24. html>

    ①①编写响应的配置文件

    applicationContext.xml

    1. "1.0" encoding="UTF-8" ?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:aop="http://www.springframework.org/schema/aop"
    5. xmlns:tx="http://www.springframework.org/schema/tx"
    6. xmlns:context="http://www.springframework.org/schema/context"
    7. xsi:schemaLocation="http://www.springframework.org/schema/beans
    8. http://www.springframework.org/schema/beans/spring-beans.xsd
    9. http://www.springframework.org/schema/tx
    10. http://www.springframework.org/schema/tx/spring-tx.xsd
    11. http://www.springframework.org/schema/aop
    12. http://www.springframework.org/schema/aop/spring-aop.xsd
    13. http://www.springframework.org/schema/context
    14. http://www.springframework.org/schema/context/spring-context.xsd">
    15. <context:component-scan base-package="com">
    16. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller">context:exclude-filter>
    17. context:component-scan>
    18. <context:property-placeholder location="classpath:jdbc.properties"/>
    19. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    20. <property name="driverClass" value="${jdbc.driver}">property>
    21. <property name="jdbcUrl" value="${jdbc.url}">property>
    22. <property name="user" value="${jdbc.username}">property>
    23. <property name="password" value="${jdbc.password}">property>
    24. bean>
    25. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    26. <property name="dataSource" ref="dataSource">property>
    27. <property name="configLocation" value="classpath:sqlMapConfig-spring.xml">property>
    28. bean>
    29. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    30. <property name="basePackage" value="com.mapper">property>
    31. bean>
    32. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    33. <property name="dataSource" ref="dataSource">property>
    34. bean>
    35. <tx:advice id="txAdvice">
    36. <tx:attributes>
    37. <tx:method name="*"/>
    38. tx:attributes>
    39. tx:advice>
    40. <aop:config>
    41. <aop:advisor advice-ref="txAdvice" pointcut="execution(* com.service.impl.*.*(..))">aop:advisor>
    42. aop:config>
    43. beans>

    jdbc.properties

    1. jdbc.driver=com.mysql.jdbc.Driver
    2. jdbc.url=jdbc:mysql://localhost:3306/ssm
    3. jdbc.username=root
    4. jdbc.password=123456


    spring-mvc.xml

    1. "1.0" encoding="UTF-8" ?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:mvc="http://www.springframework.org/schema/mvc"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. http://www.springframework.org/schema/beans/spring-beans.xsd
    8. http://www.springframework.org/schema/mvc
    9. http://www.springframework.org/schema/mvc/spring-mvc.xsd
    10. http://www.springframework.org/schema/context
    11. http://www.springframework.org/schema/context/spring-context.xsd">
    12. <context:component-scan base-package="com.controller"/>
    13. <mvc:annotation-driven/>
    14. <bean id="resourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    15. <property name="prefix" value="/WEB-INF/pages/"/>
    16. <property name="suffix" value=".jsp"/>
    17. bean>
    18. <mvc:default-servlet-handler/>
    19. beans>


    sqlMapConfig.xml

    1. "1.0" encoding="UTF-8" ?>
    2. configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. <properties resource="jdbc.properties">properties>
    7. <environments default="development">
    8. <environment id="development">
    9. <transactionManager type="JDBC">transactionManager>
    10. <dataSource type="POOLED">
    11. <property name="driver" value="${jdbc.driver}">property>
    12. <property name="url" value="${jdbc.url}">property>
    13. <property name="username" value="${jdbc.username}">property>
    14. <property name="password" value="${jdbc.password}">property>
    15. dataSource>
    16. environment>
    17. environments>
    18. <mappers>
    19. <package name="com.mapper">package>
    20. mappers>
    21. configuration>


    sqlMapConfig-spring.xml

    1. "1.0" encoding="UTF-8" ?>
    2. configuration
    3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
    5. <configuration>
    6. <typeAliases>
    7. <package name="com.domain">package>
    8. typeAliases>
    9. configuration>

    ①②测试添加账户和账户列表

    ①③数据库中测试

  • 相关阅读:
    国家互联网信息办公室修订《互联网跟帖评论服务管理规定》发布施行
    前端架构师之09_JavaScript_BOM
    计算机Android毕业设计论文基于Uniapp+SSM实现的Android安全网购平台
    自动化运维机器人(RPA)在银行IT运维领域应用场景分析
    Visual Studio 中的键盘快捷方式大全
    Vue详解及综合案例
    分布式事务Seata
    springboot毕设项目个人博客的设计与实现i03nz(java+VUE+Mybatis+Maven+Mysql)
    权限管理系统-0.4.0
    解析90后创客教育的主观积极性
  • 原文地址:https://blog.csdn.net/weixin_60719453/article/details/126636749