IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 2021-10-23 -> 正文阅读

[Java知识库]2021-10-23


mybatis简介

MyBatis是一流的持久性框架,支持自定义SQL,存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码以及参数的手动设置和结果检索。
个人理解mybatis就是在JDBC的基础上做了一层封装,具体概念可以参考mybatis官网
—————————————————————————————————

一、创建spring项目并配置mybatis

选择创建spring项目,选择spring web,jdbc api 和mysql driver,一路next到finish.在项目文件中的src/java/resouse下有application.properties,将后缀名改为yml,同时在其中进行配置
application.yml配置如下

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/student?serverTimezone=GMT%2B8
    username: root                                 
    password: lin201418
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath*:mybatis*.xml 
  #*  *之间为mybatis配置sql语句位置,需要自己创建

二、数据操作

1.创建数据实体

新建dataelem类,在其中根据数据表创建data类
数据表如下:

在这里插入图片描述

package com.example.mybatissql.dataelem;

public class data {
    private int no;
    private String name;
    private String sex;
    private String password;
    public int getNo(){
        return this.no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

2.创建数据接口

创建接口供mybatis使用,本次创建的接口如下:

package com.example.mybatissql.test;

import com.example.mybatissql.dataelem.data;

import java.util.List;

public interface dataTest {
    List<data> listall();
}

3.数据服务

java代码如下

package com.example.mybatissql.Service;

import com.example.mybatissql.dataelem.data;
import com.example.mybatissql.test.dataTest;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
@Service
public class dataService{
@
    private dataTest dat;
    public List<data> listall(){
        return dat.listall();
    }
}

4.请求处理

java代码如下

package com.example.mybatissql.Controller;

import com.example.mybatissql.Service.dataService;
import com.example.mybatissql.dataelem.data;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class dataController {
    private dataService ds;

    public dataController() {
        this.ds = new dataService();
    }

    @GetMapping("/listall")
    public List<data> listall(){
        return ds.listall();
    }

}

5.mybatis xml配置

UserMapper.xml

<?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.mybatissql.test.dataTest">
    <resultMap id="result" type="com.example.mybatissql.dataelem.data">
        <id column="no" property="no"/>
        <result column="name" property="name"/>
        <result column="password" property="password"/>
        <result column="sex" javaType="String" property="sex"/>
    </resultMap>
    --上面为数据库与实体变量映射
    <select id="listall" resultType="result">
        select * from test
    </select>
</mapper>

注意:如果实体类的成员变量名称与数据表的字段名称一模一样的话可以不做数据库表和实体类的映射,mybatis会自动根据字段封装数据,如果有些字段跟数据库表字段名称不一致,则需要做数据库表和实体类的映射,否则会封装不上数据,建议把映射都做上去。

6.main方法所在文件配置

package com.example.mybatissql;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@MapperScan({"com.example.mybatissql.test"})//
@RestController
public class MybatisSqlApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisSqlApplication.class, args);
    }
    @RequestMapping("/index")
    public String index(){
        return "hello";
    }
}

项目总体结构如下

在这里插入图片描述

三.测试

通过postman进行测试,测试结果如下
在这里插入图片描述

参考文章

菜鸟的mybatis实战教程_最强菜鸟-CSDN博客

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:48:21  更:2021-10-24 14:49:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:46:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码