SpringMvc+Spring+MyBatis+Maven+Ajax+Json注解开发 利用Maven的依赖导入不使用架包模式 (实操十一)

简介: SpringMvc+Spring+MyBatis+Maven+Ajax+Json注解开发 利用Maven的依赖导入不使用架包模式 (实操十一)

SpringMvc+Spring+MyBatis+Maven+Ajax+Json注解开发 利用Maven的依赖导入不使用架包模式 (实操十)_星辰镜的博客-CSDN博客

上面的博客是环境配置和Mysql的操作

本文章的目标 完成对数据库中表的数据查序

MySql查序语句:SELECT *  FROM orders

分析表中的数据用java的方式如何存放


原始的三层架构没有写代码的情况没有写查询的功能代码的情况下

控制层

@Autowired定义:

@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值

   IOrderService service;

上面的作用相当于在控制层中注入Service层的数据

package Com.Orders.Controller;
/**
 * SpringMvc 控制层 部分代码省略
 */
@Controller
public class OrderController {
    @Autowired
    IOrderService service;
}

业务逻辑层

@Autowired定义:

@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值

IOrderDao dao;  

上面的作用相当于Service层中注入Dao层的数据

ackage Com.Orders.Service;
import java.util.List;
import java.util.Map;
/**
 * 业务逻辑层的接口
 */
public interface IOrderService {
}
package Com.Orders.Service;
/**
 * 业务逻辑层接口的实现类去实现接口未实现的方法
 */
@Service(value = "sService")
public class OrderServiceImp implements IOrderService {
    @Autowired
    IOrderDao dao;
}

数据访问层

对数据库的数据进行查序

package Com.Orders.Dao;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import java.util.Map;
/**
 * 数据反问层操作数据的增删改查
 */
public interface IOrderDao {
}

查询数据库的表中数据的代码

定义一个页面为首页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页内容</title>
</head>
<body>
<div align="center">
        <h1>2022/9/19商品管理系统</h1>
    <a href="Service.html" style="font-size: 20px">点击这里进入查询页面的信息</a>
</div>
</body>
</html>

查询功能的数据跳到Service.html页面:

<a href="Service.html" style="font-size: 20px">点击这里进入查询页面的信息</a>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>查询页面信息</title>
    <style type="text/css">
        *{
            font-family: 楷体;
            font-size: 30px;
        }
        input{
            background-color: beige;
            color: red;
            border-radius: 12px;
        }
    </style>
    <script src="js/jquery-3.2.1.min.js"></script>
</head>
<body>
<div align="center">
    <h1>查询数据库中的信息页面</h1>
    <table>
        <tr>
            <th>订单编号</th>
            <th>用户名</th>
            <th>商品名称</th>
            <th>订单时间</th>
            <th>数量</th>
            <th>单价</th>
            <th>金额</th>
            <th>操作</th>
        </tr>
    </table>
</div>
</body>
</html>


当我们点击超链接的时候跳转到查序功能的页面

查询数据库中的信息页面结果


思考:以上面的两张图的跳转要用几行代码可以实现?

查询数据库表中的数据信息

在Service.html中定义Ajax请求

  <script>
        //Ajax请求访问
        $(function () {
            $.ajax({
                url: "list.do",
                type: "GET",
                data: "",
                success: function (json) {
                     parsTale(json);
                },
                error: function () {
                    alert("用户已经连接失败")
                },
                dataType: "json"
            })
        })
</script>

控制层

@RequestMapping("list.do")
    @ResponseBody
    public Object list() {
//因为查询的数据信息是多条记录 
//所以 在Java中用 List<Map<String, String>>
        List<Map<String, String>> list = service.getList();
    }

业务逻辑层

//Java存放的方式 方法名
List<Map<String, String>> getList();

数据访问层

    // @Select("SELECT * FROM orders") 数据库的Sql语句
     @Select("SELECT * FROM orders")
    List<Map<String, String>> getList();

查询书籍的信息结果返回到页面显示 使用Json解析

 @RequestMapping("list.do")
    @ResponseBody
    public Object list() {
        List<Map<String, String>> list = service.getList();
        return list;
    }

在Service.html中解析数据

   //    定义方解析页面
        function parsTale(jsons) {
            for (var i = 0; i < jsons.length; i++) {
                $("table").append("<tr>" +
                    "<td>" + jsons[i].id + "</td>" +
                    "<td>" + jsons[i].name + "</td>" +
                    "<td>" + jsons[i].foondname + "</td>" +
                    "<td>" + jsons[i].ordertime + "</td>" +
                    "<td>" + jsons[i].count + "</td>" +
                    "<td>" + jsons[i].price + "</td>" +
                    "<td>" + jsons[i].amount + "</td>" +
                    "<td><input type='button' onclick='update(" + jsons[i].id + ")' value='修改按钮'>&nbsp;" +
                    "<input value='增加' type='button' onclick='add()'>&nbsp;" +
                    "<input value='删除' type='button'></td>" +
                    "</tr>")
            }


查询数据库中的信息页面结果

 

总结:为什么要使用框架:最重要的一点是方便

                   

相关文章
|
6月前
|
缓存 监控 Java
SpringBoot @Scheduled 注解详解
使用`@Scheduled`注解实现方法周期性执行,支持固定间隔、延迟或Cron表达式触发,基于Spring Task,适用于日志清理、数据同步等定时任务场景。需启用`@EnableScheduling`,注意线程阻塞与分布式重复问题,推荐结合`@Async`异步处理,提升任务调度效率。
968 128
|
5月前
|
XML Java 应用服务中间件
【SpringBoot(一)】Spring的认知、容器功能讲解与自动装配原理的入门,带你熟悉Springboot中基本的注解使用
SpringBoot专栏开篇第一章,讲述认识SpringBoot、Bean容器功能的讲解、自动装配原理的入门,还有其他常用的Springboot注解!如果想要了解SpringBoot,那么就进来看看吧!
622 3
|
6月前
|
XML Java 数据格式
常用SpringBoot注解汇总与用法说明
这些注解的使用和组合是Spring Boot快速开发和微服务实现的基础,通过它们,可以有效地指导Spring容器进行类发现、自动装配、配置、代理和管理等核心功能。开发者应当根据项目实际需求,运用这些注解来优化代码结构和服务逻辑。
449 12
|
6月前
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
340 0
探索Spring Boot的@Conditional注解的上下文配置
|
9月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1470 1
Spring boot 使用mybatis generator 自动生成代码插件
|
12月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
907 0
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
682 2
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
728 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
796 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
3398 2
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个

推荐镜像

更多