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

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的方法

基础教程推荐