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日

相关文章

  • application对象统计所有用户对某网页的访问次数

    要统计所有用户对某网页的访问次数,可以使用应用程序(Application)对象。以下是进行这项任务的攻略: 步骤一:创建计数器 要跟踪访问次数,我们需要一个计数器。使用应用程序对象中的 OnStart 事件和 Application.Lock 方法创建一个计数器并将其初始化为1。然后使用 Application.UnLock 方法解锁应用程序对象。 Sub…

    Java 2023年6月15日
    00
  • java中表示一个文件的File类型详解

    当我们在Java中需要处理文件或目录时,通常需要使用File类。File类代表磁盘中的文件或目录的路径名。 File类的创建 可以通过以下两种方法来创建File类: 1.使用路径名字符串或File类对象作为参数创建File对象 File file1 = new File("C:/Users/Desktop/Example.txt"); /…

    Java 2023年5月20日
    00
  • Java设计模式之java命令模式详解

    Java设计模式之Java命令模式详解,主要介绍了命令模式的定义、结构、应用场景、优缺点以及如何在Java中实现命令模式。 命令模式的定义:将一个请求封装成一个对象,从而使用户可以用不同的请求对客户端进行参数化,即可以用请求对请求分类,同时支持请求排队、记录请求日志、撤销操作等功能。 命令模式的结构:命令(Command)、具体命令(ConcreteComm…

    Java 2023年5月24日
    00
  • java Struts2框架下实现文件上传功能

    实现文件上传功能在Web应用程序中非常常见。在Java Web应用程序中,常用的框架之一是Struts2框架。下面是实现文件上传功能的完整攻略。 步骤1:添加依赖 要在Struts2应用程序中实现文件上传功能,我们需要添加一些依赖项。具体来说,我们需要添加以下依赖项: <dependency> <groupId>org.apache.…

    Java 2023年5月20日
    00
  • Android小程序实现音乐播放列表

    Android小程序实现音乐播放列表攻略 在Android小程序中实现音乐播放列表,需要使用到以下知识点: RecyclerView控件展示列表 Service组件进行音乐播放 Notification通知栏控制播放状态 下面详细讲解实现的完整攻略。 实现步骤 设计音乐列表的布局文件 在布局文件中,使用RecyclerView控件展示音乐列表,用TextVi…

    Java 2023年5月23日
    00
  • Java代码块与代码加载顺序原理详解

    Java 代码块与代码加载顺序原理详解 在一个类中,我们可以使用代码块来初始化一些类变量以及执行一些常规的代码逻辑。那么代码块和代码加载顺序之间又有何关系呢?本文将会深入详细地讲解这个问题。 代码块 Java 中的代码块有三种:静态代码块、普通代码块、构造代码块。这三种代码块都可以在Java程序中进行使用,其作用各异,在这里我们只关注静态代码块。 静态代码块…

    Java 2023年5月23日
    00
  • Go语言开发前后端不分离项目详解

    Go语言开发前后端不分离项目详解 介绍 Go语言是一种高效、可靠并具有简洁语法特点的编程语言,适用于大规模构建高可用性的网络服务器和应用程序。本文将介绍如何使用Go语言开发一个前后端不分离的Web项目,包括项目架构设计、路由设置、数据库操作等。 项目架构设计 在开始项目之前,我们首先需要设计一个合理的项目架构。本项目采用传统的MVC(Model-View-C…

    Java 2023年6月15日
    00
  • ColdFusionMX 编程指南 ColdFusionMX编程入门

    首先,需要明确“ColdFusionMX 编程指南 ColdFusionMX编程入门”是一本有关ColdFusionMX编程的入门书籍,其中包含了关于ColdFusion应用程序、变量、函数和流程控制等方面的基本知识和实例,适合初学者阅读学习。 一、阅读方式 1.阅读顺序:建议按照书本的章节顺序阅读,因为每个章节的内容都是有关联的。 2.实践方法:书中的实例…

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