Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)

下面是Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式)的完整攻略。

1. 环境搭建

  • JDK安装及环境变量配置
  • Maven安装及配置
  • Eclipse/IDEA集成Maven插件及配置

2. 项目建立

  • 利用Maven建立项目:新建Maven项目,设置GroupId、ArtifactId、Version等基本信息。
  • 导入相关依赖:spring-webmvcmybatismysql-connector-java等。
  • 新建src/main/resources目录,创建Spring配置文件spring-mvc.xml、MyBatis配置文件mybatis-config.xml及数据库配置文件jdbc.properties

3. 数据库连接

jdbc.properties文件中配置数据库相关参数,如数据库连接地址、用户名、密码等:

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=

4. MyBatis映射

  • 建立数据模型JavaBean,并在其中定义相关属性及Getter/Setter方法。
  • 建立对应的Mapper映射文件,编写增删改查等基本SQL语句。

5. Spring MVC配置

  • spring-mvc.xml文件中配置dataSourcesqlSessionFactorytransactionManager等相关信息。
  • 配置Spring MVC的控制器、视图解析器等信息。

6. 编写Controller和JSP

  • 编写Controller类,利用@RequestMapping注解进行请求地址映射。
  • 编写JSP页面,进行数据展示。

注:这里为了方便,只是简略介绍了整体建立过程。具体步骤和代码请参考完整的教程。

接下来,以两个示例说明具体步骤和代码。

示例1:用户信息查询

  1. 创建数据模型对象User

src/main/java目录下创建com.example.model.User.java文件,定义用户信息相关属性及Getter/Setter方法:

package com.example.model;

public class User {
    private int userId;
    private String userName;
    private int age;

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
  1. 创建MyBatis映射文件UserMapper.xml

src/main/resources目录下创建com.example.mapper.UserMapper.xml文件,定义用户信息相关的SQL语句操作:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD MappeR 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.mapper.UserMapper">

    <resultMap id="userMap" type="com.example.model.User">
        <id column="id" property="userId"/>
        <result column="username" property="userName"/>
        <result column="age" property="age"/>
    </resultMap>

    <select id="getUserById" resultMap="userMap">
        select * from user where id = #{id}
    </select>

    <select id="getAllUser" resultMap="userMap">
        select * from user
    </select>

</mapper>
  1. 新建Controller类

src/main/java目录下创建com.example.controller.UserController.java文件,定义用户信息查询控制器:

package com.example.controller;

import com.example.mapper.UserMapper;
import com.example.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @RequestMapping("/getUserById")
    public ModelAndView getUserById(int id) {
        User user = userMapper.getUserById(id);
        ModelAndView modelAndView = new ModelAndView("user");
        modelAndView.addObject("user", user);
        return modelAndView;
    }

    @RequestMapping("/getAllUser")
    public ModelAndView getAllUser() {
        List<User> userList = userMapper.getAllUser();
        ModelAndView modelAndView = new ModelAndView("userList");
        modelAndView.addObject("userList", userList);
        return modelAndView;
    }
}
  1. 新建JSP页面

src/main/webapp/WEB-INF/views目录下创建user.jspuserList.jsp页面,用于展示用户信息:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>User Info</title>
</head>
<body>
    <table>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
        </tr>
        <tr>
            <td><%= request.getAttribute("user.userId") %></td>
            <td><%= request.getAttribute("user.userName") %></td>
            <td><%= request.getAttribute("user.age") %></td>
        </tr>
    </table>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>User List</title>
</head>
<body>
    <table>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
        </tr>
        <% 
        List<User> userList = (List<User>)request.getAttribute("userList");
        for(User user : userList) { %>
        <tr>
            <td><%= user.getUserId() %></td>
            <td><%= user.getUserName() %></td>
            <td><%= user.getAge() %></td>
        </tr>
        <% } %>
    </table>
</body>
</html>
  1. 配置Spring MVC

src/main/resources/spring-mvc.xml文件中配置控制器、视图解析器等信息:

<mvc:annotation-driven />
<context:component-scan base-package="com.example.controller" />

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="mapperLocations" value="classpath:com/example/mapper/*.xml" />
    <property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>

<mybatis:scan base-package="com.example.mapper" />
  1. 测试

运行项目,打开浏览器,输入地址http://localhost:8080/user/getUserById?id=1 或 http://localhost:8080/user/getAllUser,即可查看查询到的用户信息。

示例2:添加新用户

  1. 添加数据模型对象NewUser

与示例1中的数据模型相同,不再赘述。

  1. 创建MyBatis映射文件NewUserMapper.xml

src/main/resources目录下创建com.example.mapper.NewUserMapper.xml文件,定义新增用户相关的SQL语句操作:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD MappeR 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.example.mapper.NewUserMapper">

    <insert id="addUser" useGeneratedKeys="true" keyProperty="id">
        insert into user(username, age) values(#{userName}, #{age})
    </insert>

</mapper>
  1. 新建Controller类

src/main/java目录下创建com.example.controller.NewUserController.java文件,定义用户信息新增控制器:

package com.example.controller;

import com.example.mapper.NewUserMapper;
import com.example.model.NewUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping("/newUser")
public class NewUserController {

    @Autowired
    private NewUserMapper newUserMapper;

    @RequestMapping("/addUser")
    public ModelAndView addUser(NewUser newUser) {
        newUserMapper.addUser(newUser);
        ModelAndView modelAndView = new ModelAndView("add");
        return modelAndView;
    }
}
  1. 新建JSP页面

src/main/webapp/WEB-INF/views目录下创建add.jsp页面,用于展示新增用户后的结果:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Add Result</title>
</head>
<body>
    <p>New user added successfully!</p>
</body>
</html>
  1. 配置Spring MVC

src/main/resources/spring-mvc.xml文件中新增Mapper扫描配置:

<mybatis:scan base-package="com.example.mapper" />
  1. 测试

运行项目,打开浏览器,输入地址http://localhost:8080/newUser/addUser?userName=test&age=20,即可添加一个年龄为20、姓名为test的新用户,并查看新增结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring MVC 4.1.3 + MyBatis零基础搭建Web开发框架(注解模式) - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • JAVA函数的定义、使用方法实例分析

    JAVA函数的定义、使用方法实例分析 函数的定义 在JAVA中,函数也称为方法(Method),是程序中一个可以被重复使用的代码块。它可以接受一些输入(参数)并根据这些输入进行一些操作,然后产生输出。在JAVA中,函数定义的一般格式为: 访问修饰符 返回值类型 方法名(参数列表) { 方法体 return 返回值; } 访问修饰符:指定函数可以被哪些代码访问…

    Java 2023年5月26日
    00
  • Spring Boot集成MyBatis访问数据库的方法

    下面我将详细讲解如何在Spring Boot中集成MyBatis,访问数据库的完整步骤。 第一步:引入相关依赖 在pom.xml文件中添加以下依赖,其中包括Spring Boot的启动器、MyBatis的启动器、MySQL数据库连接驱动、MyBatis的Spring Boot集成包以及数据库连接池依赖。 <dependency> <grou…

    Java 2023年5月20日
    00
  • Springboot打成war包并在tomcat中运行的部署方法

    配置pom.xml文件 首先,在pom.xml文件中需要将打包方式修改为war,同时需要将内嵌的Tomcat去除。具体方法如下: <!– 修改打包方式为war –> <packaging>war</packaging> <!– 去除内嵌的tomcat依赖 –> <dependency> &l…

    Java 2023年5月19日
    00
  • Java经典面试题汇总:Mybatis

    Java经典面试题汇总:Mybatis MyBatis是Java中一款非常流行的持久层框架,是Apache下的一个开源项目,它提供了使用Java对象来映射数据库操作的ORM框架,封装了原始的JDBC访问,让使用者能够更加方便的使用数据库。本篇文章将介绍MyBatis常见的面试题及其详细解析。 1. MyBatis的使用及原理 1.1 MyBatis的使用 首…

    Java 2023年5月20日
    00
  • java实现输出文件夹下某个格式的所有文件实例代码

    下面是详细的攻略: 1. 获取文件夹下所有文件 为了获取一个文件夹下的所有文件,我们可以使用Java中的File类和递归算法。可以先定义一个方法,传入文件夹的路径,使用该方法时传入希望查找的文件格式。 import java.io.File; public class FileUtil { /** * 获取指定文件夹下某一类型的所有文件 * * @param…

    Java 2023年5月20日
    00
  • Java之Spring AOP 实现用户权限验证

    下面我就详细讲解一下“Java之Spring AOP实现用户权限验证”的完整攻略。 什么是Spring AOP Spring AOP是Spring框架的一个重要模块,它允许开发者通过声明式方式将横切关注点(如事务管理、安全控制、日志管理等)与业务逻辑代码解耦,在不修改业务逻辑代码的情况下实现这些关注点的添加。 AOP中的术语 在进行Spring AOP开发时…

    Java 2023年5月20日
    00
  • java简单实现复制 粘贴 剪切功能代码分享

    Java简单实现复制、粘贴、剪切功能 1. 实现方式 Java实现复制、粘贴、剪切功能可以使用AWT和Swing的内置类实现,也可以通过API实现。 1.1 使用AWT、Swing类实现 Java的AWT和Swing类库中提供了对剪切板(Clipboard)的支持。可以通过Toolkit类的getSystemClipboard方法获取系统剪切板。 Java提…

    Java 2023年5月27日
    00
  • Java中的对象和对象引用实例浅析

    让我们来详细讲解一下Java中的对象和对象引用实例浅析。 掌握对象和对象引用的基础概念 在Java中,对象是我们需要操作的数据实体。对象本身是占用内存空间的,所以我们需要引用来间接操作对象。对象引用指的是一个指针变量,它指向一个对象在内存中的位置。Java中的对象都是存储在堆内存中,而引用则可以存储在栈内存中。 对象的创建过程 对象的创建过程分为两个步骤:声…

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