当前位置: 首页 > news >正文

公司 网站源码佛山建站软件

公司 网站源码,佛山建站软件,提升学历的方式,重庆市工程招标信息网一、为什么要整合 mybatis是一款优秀的持久层框架,使用它可以简化JDBC开发。 二、数据结构 因为mybatis是用于数据持久化的框架,所以数据是其基础。在写整合过程之前,先准备好数据,然后才能进行开发。 -- 创建品牌表 CREATE TAB…

一、为什么要整合

        mybatis是一款优秀的持久层框架,使用它可以简化JDBC开发。

二、数据结构

        因为mybatis是用于数据持久化的框架,所以数据是其基础。在写整合过程之前,先准备好数据,然后才能进行开发。

-- 创建品牌表
CREATE TABLE `t_brand` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '品牌ID,自增主键',`brand_name` VARCHAR(100) NOT NULL COMMENT '品牌名称',`company_name` VARCHAR(100) NOT NULL COMMENT '公司名称',`ordered` INT(11) DEFAULT 0 COMMENT '排序字段,用于展示顺序',`description` VARCHAR(500) DEFAULT NULL COMMENT '品牌描述',`status` INT(1) DEFAULT 0 COMMENT '状态:0-禁用,1-启用',PRIMARY KEY (`id`),UNIQUE KEY `idx_brand_name` (`brand_name`) COMMENT '品牌名称唯一'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='品牌表';-- 插入初始化数据
INSERT INTO `t_brand` (`brand_name`, `company_name`, `ordered`, `description`, `status`) 
VALUES 
('华为', '华为技术有限公司', 1, '全球领先的ICT基础设施和智能终端提供商', 1),
('小米', '小米科技有限责任公司', 2, '专注于高端智能手机、互联网电视及智能家居生态链建设', 1),
('苹果', '苹果公司', 3, '美国科技公司,以iPhone、iPad等产品闻名', 1),
('三星', '三星电子株式会社', 4, '韩国跨国企业,业务涵盖电子、金融等多个领域', 1),
('OPPO', 'OPPO广东移动通信有限公司', 5, '专注于智能终端产品、软件和互联网服务的科技公司', 0);

三、创建springboot项目

        为什么选择springboot3呢?

        因为截止到2025.7月, 在IDEA中创建SpringBoot项目的时候,start.spring.io只提供springboot3版本的模板,所以,springboot2的整合这里就不说明了,如果有需要,评论区留言,我单开一篇讲。

        本篇文章使用的java版本是17。

    3.1 pom依赖

     下面只列出核心的配置,如果需要源码,请在文章最后访问gitee项目地址查看。

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.8</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.cosseen</groupId><artifactId>springboot_mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot_mybatis</name><description>springboot_mybatis</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.4</version></dependency><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies>

3.2 目录结构

我这里的结构如下:

  • controller: 存放rest接口的业务逻辑
  • mapper: 存放数据库操作的接口
  • pojo:存放广告的实体类
  • service: 存放service服务,用于向rest提供业务实现
  • resource/mapper: 用于存放mybatis的xml配置文件
  • test: 存放单元测试用例

3.3 应用配置文件

        springboot项目的主配置文件是application.yml,主要内容有:

  1. 数据库连接信息
  2. 启动时,扫描的mybatis配置文件路径,以及驼峰式命名转换

    为什么要开启驼峰式命名转换呢?

        细心的你,可能会发现,sql定义的表字段是brand_name, 但是pojo中定义的是brandName,  这两个不同。mybatis从数据库查询出数据后,在封装对象的时候,如何知道brand_name对应的就是brandName呢?通过这个驼峰命名转换,mybatis在给对象属性赋值时,自动就会找到对应的字段。

spring:application:name: springboot_mybatisdatasource:url: jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=falseusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivermybatis:mapper-locations: mapper/*configuration:map-underscore-to-camel-case: true # 开启下划线转驼峰命名

四、代码其结构说明

4.1 BrandMapper.java文件

这是mybatis的接口类,用于封装对外提供的数据操作接口,比如查询,更新,新增,删除等。@Mapper注解用于标识,这是一个Mybatis的数据接口。

package com.cosseen.mapper;import com.cosseen.pojo.Brand;
import org.apache.ibatis.annotations.Mapper;import java.util.List;@Mapper
public interface BrandMapper {// 查询所有品牌List<Brand>  queryAllBrand();// 根据id查询品牌Brand queryById(int id);
}

4.2 BrandMapper.xml文件

存放mybatis数据接口的sql实现,把对应接口的sql语句配置到xml文件中。为什么这么做呢?

1. 解耦逻辑:把业务逻辑和SQL分开,业务负责传参和调用,SQL负责查询和返回数据,职责分明。

2. 便于维护:把所有SQL存放在mapper中,可以做到统一管理。假设把SQL写在java文件中,当业务复杂时,存在多个java文件,修改可能会漏掉。其次,当需要调整SQL时,只需要修改xml文件即可,避免修改代码引入新的问题。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cosseen.mapper.BrandMapper"><select id="queryAllBrand" resultType="com.cosseen.pojo.Brand">select * from t_brand;</select><select id="queryById" resultType="com.cosseen.pojo.Brand">select * from t_brand where id = #{id};</select></mapper>

4.3 BrandService.java文件

该文件用于定义Service层对外提供的业务服务,虽然这个文件和mybatis的接口类比较像,但两者并没有关系,queryAllBrand可以写成findAll,  rest只要调用findAll能拿到数据即可。

package com.cosseen.service;import com.cosseen.pojo.Brand;import java.util.List;public interface BrandService {// 查询所有品牌List<Brand> queryAllBrand();// 根据id查询品牌Brand queryById(int id);
}

4.4 BrandServiceImpl.java文件

该文件是对BrandService接口的具体实现。 使用@Service注解,Springboot会自动创建该类的服务实例。

package com.cosseen.service.impl;import com.cosseen.mapper.BrandMapper;
import com.cosseen.pojo.Brand;
import com.cosseen.service.BrandService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class BrandServiceImpl implements BrandService {@AutowiredBrandMapper brandMapper;@Overridepublic List<Brand> queryAllBrand() {return brandMapper.queryAllBrand();}@Overridepublic Brand queryById(int id) {return brandMapper.queryById(id);}
}

4.5 BrandController.java文件

该文件负责对外提供rest服务。@RestController是@Controller和@ResponseBody的合集。

package com.cosseen.controller;import com.cosseen.pojo.Brand;
import com.cosseen.service.BrandService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
public class BrandController {@AutowiredBrandService brandService;@GetMapping("/allBrand")public String queryAllBrand(){// 调用service层来查询所有书籍数据List<Brand> brands = brandService.queryAllBrand();// 为了演示,简单的将其返回字符串return brands.toString();}@GetMapping("/brand/{id}")public String queryBrandById(@PathVariable("id") int id){Brand brand = brandService.queryById(id);return brand.toString();}
}

五、测试运行

5.1 启动 SpringbootMybatisApplication项目

5.2 浏览器请求接口

六、代码地址

https://gitee.com/drx000/springboot3-mybatis.git

http://www.cairui.net.cn/news/363/

相关文章:

  • 电子商务中网站开发windows2008iis部署及发布网站
  • 游戏网站开发有限公司云速建站怎么样
  • 东莞优秀网站建设宝安中心地铁站时间表
  • 网站是由什么构成的做网站一定要注册公司吗
  • 网站模版一样 内容不同侵权吗朝阳区的互联网公司
  • 男女的做那个视频网站网站板块设计
  • 镇江网站制作咨询东莞南海网站制作
  • 付费网站怎么制作域名进行网站备案
  • 公司网站服务器租用温州网站定制哪家好
  • 快速让百度收录网站百度竞价排名名词解释
  • 上海网站工作室校园微网站建设方案ppt
  • 刘家窑网站建设公司公司网站首页的图片怎么做
  • yahoo网站提交wordpress加载速度慢
  • 免费模板网站都有什么网站死链检测
  • 网站SEM优化如何做威海网站建设 孔
  • 亚洲男女做暖网站北京兼职做网站推广
  • 东莞专业建网站wordpress快报插件
  • 电子政务网站建设方案网站开发卖东西
  • php 网站模板加盟营销型网站制作
  • 耐克电子商务网站建设企业网站模板源码
  • 济南网站建设优化百家号wordpress加速插件
  • 医院网站和微信公众号建设方案营业推广方式
  • 新媒体营销案例分析韶山seo快速排名
  • 个人博客网站怎么做互联网公司运营
  • 两个人做类似的梦 网站wordpress竖直导航栏
  • 做网站鼎盛wordpress关闭搜索
  • 手机端网站模板下载wordpress 公告插件
  • 我的世界搞头怎么做的视频网站网络公司取名字参考大全
  • 那些网站用不着做优化杭州有哪些网络公司
  • 做个网址需要多少钱站内优化seo