JAVA中SSM框架的搭建实现CRUD的方法

JAVA中SSM框架的搭建实现CRUD操作可以分为以下几个步骤:

1. 搭建环境

首先,我们需要安装必要的软件和工具:

  • JDK
  • Maven
  • Eclipse或IntelliJ IDEA
  • Tomcat
  • MySQL

并配置环境变量和路径。安装完成后,在Eclipse或IntelliJ IDEA中创建一个新的Maven项目。

2. 添加依赖

在pom.xml文件中,添加Spring、Spring MVC和MyBatis的依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring.version}</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>${spring.version}</version>
</dependency>

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.6</version>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>

其中${spring.version}是Spring的版本号,可以根据需要修改。

3. 配置数据源

在src/main/resources目录下创建一个名为application.properties的文件,配置数据源:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456

4. 配置MyBatis

在src/main/resources目录下创建一个名为mybatis-config.xml的文件,配置MyBatis:

<configuration>
    <typeAliases>
        <package name="com.example.demo.entity"/>
    </typeAliases>
    <mappers>
        <mapper resource="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

其中com.example.demo.entity是实体类所在的包名,mapper/UserMapper.xml是MyBatis映射文件的路径。

5. 编写实体类和Mapper接口

在com.example.demo.entity包中创建一个名为User的类,用于表示数据库中的一条记录:

public class User {
    private Long id;
    private String username;
    private String password;
    // 省略getter和setter方法
}

在com.example.demo.mapper包中创建一个名为UserMapper的接口,定义CRUD操作:

public interface UserMapper {
    List<User> findAll();
    User findById(Long id);
    void save(User user);
    void update(User user);
    void delete(Long id);
}

6. 编写Mapper映射文件

在src/main/resources/mapper目录下创建一个名为UserMapper.xml的文件,定义SQL语句:

<mapper namespace="com.example.demo.mapper.UserMapper">
    <resultMap id="UserResultMap" type="User">
        <id property="id" column="id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
    </resultMap>
    <select id="findAll" resultMap="UserResultMap">
        select * from user
    </select>
    <select id="findById" parameterType="Long" resultMap="UserResultMap">
        select * from user where id = #{id}
    </select>
    <insert id="save" parameterType="User">
        insert into user(username, password) values(#{username}, #{password})
    </insert>
    <update id="update" parameterType="User">
        update user set username = #{username}, password = #{password} where id = #{id}
    </update>
    <delete id="delete" parameterType="Long">
        delete from user where id = #{id}
    </delete>
</mapper>

7. 编写Controller和View

在com.example.demo.controller包中创建一个名为UserController的类,用于处理用户请求:

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserMapper userMapper;
    @GetMapping("/list")
    public String list(Model model) {
        List<User> userList = userMapper.findAll();
        model.addAttribute("userList", userList);
        return "userList";
    }
}

在src/main/resources/templates目录下创建一个名为userList.html的文件,用于展示用户列表:

<table>
    <thead>
        <tr>
            <th>ID</th>
            <th>Username</th>
            <th>Password</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
        <tr th:each="user : ${userList}">
            <td th:text="${user.id}"></td>
            <td th:text="${user.username}"></td>
            <td th:text="${user.password}"></td>
            <td>
                <a th:href="@{'/user/edit?id=' + ${user.id}}">编辑</a>
                <a th:href="@{'/user/delete?id=' + ${user.id}}">删除</a>
            </td>
        </tr>
    </tbody>
</table>

示例1:查询用户

在UserController中添加一个getUser方法,用于查询用户:

@GetMapping("/get")
@ResponseBody
public User getUser(Long id) {
    return userMapper.findById(id);
}

在userList.html中添加一个查询按钮,使用Ajax向服务器发送GET请求,并将查询结果显示在网页上:

<script type="text/javascript">
    function getUser() {
        var id = $("#id").val();
        $.get("/user/get", {id: id}, function(data) {
            $("#username").val(data.username);
            $("#password").val(data.password);
        });
    }
</script>
<input type="text" id="id"/>
<button onclick="getUser()">查询</button>
<input type="text" id="username"/>
<input type="text" id="password"/>

示例2:添加用户

在UserController中添加一个addUser方法,用于添加用户:

@PostMapping("/add")
@ResponseBody
public String addUser(User user) {
    try {
        userMapper.save(user);
        return "success";
    } catch(Exception e) {
        return "error";
    }
}

在userList.html中添加一个添加按钮,使用Ajax向服务器发送POST请求,并将执行结果显示在网页上:

<script type="text/javascript">
    function addUser() {
        var username = $("#username").val();
        var password = $("#password").val();
        $.post("/user/add", {username: username, password: password}, function(data) {
            if(data == "success") {
                alert("添加成功!");
            } else {
                alert("添加失败!");
            }
        });
    }
</script>
<input type="text" id="username"/>
<input type="text" id="password"/>
<button onclick="addUser()">添加</button>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA中SSM框架的搭建实现CRUD的方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式

    下面详细讲解“Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式”的完整攻略。 1. 准备工作 在进行LaTex数学函数表达式转化成图片的操作前,我们需要安装一个开源工具库,名称为MathJax。MathJax是一个JavaScript引擎,可以将LaTex数学表达式转化为HTML、SVG和MathML。 其次,我们需要一个H…

    Java 2023年5月26日
    00
  • 浅谈@RequestMapping注解的注意点

    浅谈@RequestMapping注解的注意点 @RequestMapping注解是Spring MVC中最常用的注解之一,它用于将HTTP请求映射到控制器方法。在本文中,我们将详细讲解@RequestMapping注解的注意点,并提供两个示例来说明这个过程。 注意点 在使用@RequestMapping注解时,我们需要注意以下几点: value属性 @Re…

    Java 2023年5月18日
    00
  • Java项目开发中实现分页的三种方式总结

    Java项目开发中实现分页的三种方式总结 在Java项目的开发过程中,经常需要对列表数据进行分页显示。本篇文章将总结Java项目开发中实现分页的三种方式,以供参考。 第一种方式:使用分页插件 分页插件是一种在MyBatis框架中常用的解决方案,它可以方便地实现分页功能。下面是使用MyBatis的一个示例: <!– 配置分页插件 –> <…

    Java 2023年6月16日
    00
  • MAC 命令行启动tomcat的详细介绍

    下面是启动 Tomcat 的详细攻略。 安装 Tomcat 在使用 MAC 命令行启动 Tomcat 之前,需要先安装 Tomcat。你可以在 Tomcat 的官网 https://tomcat.apache.org/ 下载最新版本的 Tomcat。安装方法如下: 将下载的 Tomcat 压缩包解压到你希望安装的目录中,例如 /opt/tomcat/。 打开…

    Java 2023年5月19日
    00
  • log4j 文件输出

    关于log4j文件输出的攻略,我们可以参考以下步骤: 1. 引入log4j依赖 要使用log4j进行文件输出,我们需要在项目中引入相关的依赖。我们可以通过Maven或者Gradle等构建工具来进行引入,下面是一个Maven的示例: <dependency> <groupId>org.apache.logging.log4j</g…

    Java 2023年6月15日
    00
  • 基于Java ORM框架的使用详解

    下面是关于“基于Java ORM框架的使用详解”的完整攻略。 一、了解ORM框架 ORM(对象关系映射)框架是为了方便Java程序员操作数据库而生的工具,它将Java对象与数据库表之间建立映射关系,通过操作Java对象的属性,实现对数据库表的增、删、改、查等操作。 常见的Java ORM框架有Hibernate、MyBatis、JPA等。其中,Hiberna…

    Java 2023年5月20日
    00
  • SpringBoot创建多模块项目的全过程记录

    我将为您详细讲解如何使用SpringBoot创建多模块项目的全过程记录。创建多模块项目有很多好处,例如可以将不同的功能模块独立开发、测试和维护,增加代码的可读性和可维护性。下面是创建多模块项目的步骤: 1. 创建maven的多模块工程 使用Maven创建一个新的多模块项目,一个工程包含多个子模块。在项目的根目录下,使用以下Maven命令创建一个多模块项目: …

    Java 2023年6月15日
    00
  • ajax从JSP传递对象数组到后台的方法

    下面我将详细讲解“ajax从JSP传递对象数组到后台的方法”的完整攻略。 一、前提准备 在进行ajax传递对象数组到后台的操作前,我们需要事先做好以下准备: 后台代码准备好接收对象数组并进行相应的处理; 编写好前端的页面代码,包括页面元素、事件绑定等; 引入jQuery库,方便进行ajax操作。 二、实现步骤 定义对象数组 首先,我们需要定义一个JavaSc…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部