• SSM整合


       SSM整合是指Spring + Spring MVC + MyBatis三个框架的整合,它们是Java企业级开发中常用的框架。Spring作为IoC容器和AOP框架,能够管理对象的生命周期和提供各种服务;Spring MVC是一种基于MVC模式的Web框架,主要用于请求和响应的处理;MyBatis是一种优秀的持久层框架,利用它可以方便地操作数据库。

       SSM整合的好处是结合了三个框架的优点,能够提高开发效率、降低维护成本、方便测试和调试等。在SSM整合中,Spring负责管理对象,MyBatis进行数据库操作,Spring MVC接收请求并进行处理,整合后能够实现前端与后台的高效交互和数据的持久化存储,是一种优秀的开发模式。

    以下是一个简单的SSM整合示例:

    1. 创建一个Maven项目,导入Spring、Spring MVC、MyBatis依赖:
    1. <!-- Spring -->
    2. <dependency>
    3. <groupId>org.springframework</groupId>
    4. <artifactId>spring-context</artifactId>
    5. <version>5.2.8.RELEASE</version>
    6. </dependency>
    7. <!-- Spring MVC -->
    8. <dependency>
    9. <groupId>org.springframework</groupId>
    10. <artifactId>spring-webmvc</artifactId>
    11. <version>5.2.8.RELEASE</version>
    12. </dependency>
    13. <!-- MyBatis -->
    14. <dependency>
    15. <groupId>org.mybatis</groupId>
    16. <artifactId>mybatis</artifactId>
    17. <version>3.5.5</version>
    18. </dependency>

    1. 创建数据库表和实体类:
    1. CREATE TABLE `user` (
    2. `id` int(11) NOT NULL AUTO_INCREMENT,
    3. `name` varchar(255) NOT NULL,
    4. `age` int(11) NOT NULL,
    5. PRIMARY KEY (`id`)
    6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    7. public class User {
    8. private Integer id;
    9. private String name;
    10. private Integer age;
    11. // 省略getter和setter
    12. }

    1. 创建Mapper接口和Mapper映射文件:
    1. public interface UserMapper {
    2. int insert(User user);
    3. int update(User user);
    4. int deleteById(Integer id);
    5. User getById(Integer id);
    6. List<User> getAll();
    7. }
    8. <mapper namespace="com.example.mapper.UserMapper">
    9. <insert id="insert" parameterType="com.example.entity.User" useGeneratedKeys="true" keyProperty="id">
    10. INSERT INTO user(name, age) VALUES(#{name}, #{age})
    11. </insert>
    12. <update id="update" parameterType="com.example.entity.User">
    13. UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}
    14. </update>
    15. <delete id="deleteById" parameterType="java.lang.Integer">
    16. DELETE FROM user WHERE id=#{id}
    17. </delete>
    18. <select id="getById" parameterType="java.lang.Integer" resultMap="userResult">
    19. SELECT * FROM user WHERE id=#{id}
    20. </select>
    21. <select id="getAll" resultMap="userResult">
    22. SELECT * FROM user
    23. </select>
    24. <resultMap id="userResult" type="com.example.entity.User">
    25. <id property="id" column="id"/>
    26. <result property="name" column="name"/>
    27. <result property="age" column="age"/>
    28. </resultMap>
    29. </mapper>

    1. 配置Spring、Spring MVC和MyBatis:
    1. <!-- Spring配置 -->
    2. <context:component-scan base-package="com.example"/>
    3. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    4. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    5. <property name="url" value="jdbc:mysql://localhost:3306/test"/>
    6. <property name="username" value="root"/>
    7. <property name="password" value="root"/>
    8. </bean>
    9. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    10. <property name="dataSource" ref="dataSource"/>
    11. <property name="configLocation" value="classpath:mybatis-config.xml"/>
    12. </bean>
    13. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    14. <property name="basePackage" value="com.example.mapper"/>
    15. </bean>
    16. <!-- Spring MVC配置 -->
    17. <mvc:annotation-driven/>
    18. <mvc:default-servlet-handler/>
    19. <context:annotation-config/>
    20. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    21. <property name="prefix" value="/WEB-INF/views/"/>
    22. <property name="suffix" value=".jsp"/>
    23. </bean>
    24. <!-- MyBatis配置 -->
    25. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    26. <property name="basePackage" value="com.example.mapper"/>
    27. </bean>

    1. 创建Controller:
    1. @Controller
    2. @RequestMapping("/user")
    3. public class UserController {
    4. @Autowired
    5. private UserMapper userMapper;
    6. @RequestMapping(value = "/add", method = RequestMethod.POST)
    7. public String add(User user) {
    8. userMapper.insert(user);
    9. return "redirect:/user/list";
    10. }
    11. @RequestMapping(value = "/list", method = RequestMethod.GET)
    12. public ModelAndView list() {
    13. List<User> userList = userMapper.getAll();
    14. return new ModelAndView("user/list", "userList", userList);
    15. }
    16. }

    1. 创建JSP页面:
    1. <!-- 添加用户页面 -->
    2. <form:form action="${pageContext.request.contextPath}/user/add" method="POST" modelAttribute="user">
    3. <label>Name:</label>
    4. <form:input path="name"/>
    5. <br/>
    6. <label>Age:</label>
    7. <form:input path="age"/>
    8. <br/>
    9. <button type="submit">Add User</button>
    10. </form:form>
    11. <!-- 用户列表页面 -->
    12. <c:forEach items="${userList}" var="user">
    13. <tr>
    14. <td>${user.id}</td>
    15. <td>${user.name}</td>
    16. <td>${user.age}</td>
    17. </tr>
    18. </c:forEach>

    以上就是一个简单的SSM整合示例,它实现了一个简单的用户管理系统,包括添加用户和查看所有用户。

  • 相关阅读:
    动态链接库(三)--动态链接库的使用
    计算机组成原理
    在MySQL客户端使用Tab健进行命令补全
    三个主要降维技术对比介绍:PCA, LCA,SVD
    stm32F103RCT6使用FFT运算分析波形详解(非常新手)
    92---Python 直角坐标系下绘制抛物线图像
    三个神仙电脑端的工具,快进来看看你知不知道这些工具
    回音壁与电视扬声器那些不得不说的事
    【力扣】96. 不同的二叉搜索树 <动态规划>
    Buffer I/0 error on dev dm-2, logical block 138823488, async page read CCSSDN
  • 原文地址:https://blog.csdn.net/wenye____/article/details/133045247