iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >springboot 使用mybatis查询的示例代码
  • 805
分享到

springboot 使用mybatis查询的示例代码

2024-04-02 19:04:59 805人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录示例1示例2返回数据源代码示例1 项目结构 代码controller中 UserController.java package com.example.demo1110.con

示例1

项目结构

代码controller中 UserController.java

package com.example.demo1110.controller;

import com.example.demo1110.entity.User;
import com.example.demo1110.service.UserService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.WEB.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/user")
@CrossOrigin //解决跨域名获取
public class UserController {
    @Autowired
    private UserService userService;

    @GetMapping("/all")
    public List<User> getListUser(){
        return userService.listUser();
    }

    @GetMapping("/getId/id={id}")
    private User getId(@PathVariable("id") Integer id){
        return userService.queryById(id);
    }

    @PostMapping("/EditUser")
    private Map<String,Object> editUser(@RequestBody User user){
        System.out.println(user);
        HashMap<String,Object> map = new HashMap<>();
        try {
            userService.editUser(user);
            map.put("success",true);
            map.put("msg","修改员工成功");
        }catch (Exception e){
            e.printStackTrace();
            map.put("success",false);
            map.put("msg","修改员工失败");
        }
        return map;
    }

    @GetMapping("/getName")
    public List<User> getName(@Param("name") String name){
        return userService.queryByName(name);
    }

    @PostMapping("/addUser")
    public Map<String,Object> addUser(@RequestBody User user){
        HashMap<String,Object> map = new HashMap<>();
        try {
            userService.addUser(user);
            map.put("success",true);
            map.put("msg","添加员工成功");
        }catch (Exception e){
            e.printStackTrace();
            map.put("success",false);
            map.put("msg","添加用户失败");
        }
        return map;
    }

    @GetMapping("/deletUser/{id}")
    public  Map<String,Object> deletUser(@PathVariable("id") Integer id){
        System.out.println(id);
        HashMap<String,Object> map = new HashMap<>();
        try {
            userService.deleteUserById(id);
            map.put("success",true);
            map.put("msg","删除员工成功");
        }catch (Exception e){
            e.printStackTrace();
            map.put("success",false);
            map.put("msg","删除用户失败");
        }
        return map;
    }
}

entity中 User.java

package com.example.demo1110.entity;
import lombok.Data;
@Data
public class User {
    private int id;
    private String name;
    private int age;
    private String city;
}

mapper中 UserDao.java

package com.example.demo1110.mapper;
import com.example.demo1110.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserDao {
    //查询所有记录
    public List<User> listUser();
    //按id查询
    public User queryById(Integer id);
    //按姓名模糊查询
    public List<User> queryByName(String name);

    //保存用户
    public int addUser(User user);
    //根据员工id删除
    public int deleteUserById(Integer id);
    //修改员工信息
    public int editUser(User user);
}

service中 UserService.java

package com.example.demo1110.service;

import com.example.demo1110.entity.User;

import java.util.List;

public interface UserService {
    //查询所有记录
    public List<User> listUser();
    //按id查询
    public User queryById(Integer id);
    //按姓名模糊查询
    public List<User> queryByName(String name);

    //保存用户
    public boolean addUser(User user);

    //根据员工id删除
    public boolean deleteUserById(Integer id);

    //修改员工信息
    public boolean editUser(User user);
}

service impl中 UserServiceImpl.java

package com.example.demo1110.service.impl;

import com.example.demo1110.entity.User;
import com.example.demo1110.mapper.UserDao;
import com.example.demo1110.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public List<User> listUser() {
        return userDao.listUser();
    }

    @Override
    public User queryById(Integer id) {
        return userDao.queryById(id);
    }

    @Override
    public List<User> queryByName(String name) {
        return userDao.queryByName(name);
    }

    @Override
    public boolean addUser(User user) {
        int i = userDao.addUser(user);
        if(i > 0){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public boolean deleteUserById(Integer id) {
        int i = userDao.deleteUserById(id);
        if(i > 0){
            return true;
        }else {
            return false;
        }
    }

    @Override
    public boolean editUser(User user) {
        int i = userDao.editUser(user);
        if(i > 0){
            return true;
        }else {
            return false;
        }
    }
    
}

主java文件 Demo1110Application.java

package com.example.demo1110;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("com.example.demo1110.mapper")
@SpringBootApplication
public class Demo1110Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo1110Application.class, args);
    }

}

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.demo1110.mapper.UserDao">
    <select id="listUser" resultType="com.example.demo1110.entity.User">
        select * from user
    </select>

    <select id="queryById" parameterType="int" resultType="com.example.demo1110.entity.User">
        select * from user
        where id = #{id}
    </select>

    <select id="queryByName" parameterType="String" resultType="com.example.demo1110.entity.User">
        select * from user
        where username = #{name}
    </select>

    <insert id="addUser" parameterType="com.example.demo1110.entity.User">
        insert  into user values (#{id},#{username},#{age},#{city})
    </insert>

    <delete id="deleteEmployeeById" parameterType="int">
        delete from user where id = #{id}
    </delete>

    <update id="editEmployee" parameterType="com.example.demo1110.entity.User">
        update user
        set username = #{name},age = #{age},city = #{city}
        where id = #{id}
    </update>
</mapper>

application.yml

spring:
  datasource:
    url: jdbc:Mysql://127.0.0.1:3306/mybatisdemo?characterEncoding=utf-8&useSSL=false
    username: root
    passWord: root
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  mapper-locations: classpath*:mapper/查询所有记录
    public List<User> listUser();
    //按id查询
    public User queryById(Integer id);
    //按姓名模糊查询
    public List<User> queryByName(String name);

    //保存用户
    public int addUser(User user);
    //根据员工id删除
    public int deleteUserById(Integer id);
    //修改员工信息
    public int editUser(User user);*/
    
    List<User> findAllUser();


    
    User findUser(Integer id);


    
    void insertUser(User user);


    
    void deleteUser(Integer id);


    
    void updateUser(User user);
    

    void deleteUserByList(Integer[] ids);
}

service -> UserService.java

package com.example.demo1110.service;
import com.example.demo1110.entity.User;
import java.util.List;
public interface UserService {
    
    
    List<User> findAll();
    
    User findUserById(Integer id);
    
    void  insertUser(User user);
    
    void updateUser(User user);
    
    void deleteUser(Integer id);
    void deleteUserByList(Integer[] ids);
}

service impl ->UserServiceImpl.java

package com.example.demo1110.service.impl;
import com.example.demo1110.entity.User;
import com.example.demo1110.mapper.UserMapper;
import com.example.demo1110.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
    
    @Autowired
    private UserMapper userMapper;
    @Override
    public User findUserById(Integer id) {
        return userMapper.findUser(id);
    }
    @Override
    public List<User> findAll() {
        return userMapper.findAllUser();
    }
    @Override
    public void insertUser(User user) {
        userMapper.insertUser(user);
    }
    @Override
    public void updateUser(User user) {
        userMapper.updateUser(user);
    }
    @Override
    public void deleteUser(Integer id) {
        userMapper.deleteUser(id);
    }
    @Override
    public void deleteUserByList(Integer[] ids) {
        userMapper.deleteUserByList(ids);
    }
}

controller ->UserController.java

package com.example.demo1110.controller;

import com.example.demo1110.entity.User;
import com.example.demo1110.service.UserService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/user")
@CrossOrigin //解决跨域名获取
public class UserController {
    
    @Autowired
    private UserService userService;

    @GetMapping("/{id}")
    public User findUserByid(@PathVariable("id") Integer id){
        return userService.findUserById(id);
    }

    @GetMapping("/findAll")
    public List<User> findAll(){
        return userService.findAll();
    }

    @PostMapping("/add")
    // // post转实体对象   只能用raw   application/JSON格式传参   key-value跟实体对应 controller用@RequestBody
    public void insertUser(@RequestBody  User user){
        userService.insertUser(user);
    }

    @PutMapping("/update")
    public void updateUser(@RequestBody  User user){
        userService.updateUser(user);
    }

    @DeleteMapping("/delete/{id}")
    public void deleteUser(@PathVariable("id") Integer id){
        userService.deleteUser(id);
    }

    @DeleteMapping("/deleteBatch")
    public void deleteBatch(@RequestBody Integer[] ids){
        userService.deleteUserByList(ids);
    }
}

controller ->IndexController.java

package com.example.demo1110.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController

public class IndexController {
    @RequestMapping ("/")
    String home () {
        return "hello world!!";
    }
}

resources mapper -> 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.demo1110.mapper.UserMapper">
    <select id="listUser" resultType="com.example.demo1110.entity.User">
        select * from user
    </select>

    <select id="queryById" parameterType="int" resultType="com.example.demo1110.entity.User">
        select * from user
        where id = #{id}
    </select>

    <select id="queryByName" parameterType="String" resultType="com.example.demo1110.entity.User">
        select * from user
        where username = #{name}
    </select>

    <insert id="addUser" parameterType="com.example.demo1110.entity.User">
        insert  into user values (#{id},#{username},#{age},#{city})
    </insert>

    <delete id="deleteEmployeeById" parameterType="int">
        delete from user where id = #{id}
    </delete>

    <update id="editEmployee" parameterType="com.example.demo1110.entity.User">
        update user
        set username = #{name},age = #{age},city = #{city}
        where id = #{id}
    </update>
</mapper>-->
<mapper namespace="com.example.demo1110.mapper.UserMapper">
    <resultMap id="user" type="com.example.demo1110.entity.User">
        <id column="id" property="id"/>
        <result column="age" property="age"/>
        <result column="name" property="name"/>
    </resultMap>
    <select id="findUser" parameterType="int" resultMap="user">
        select * from user
        <where>
            <if test="_parameter!=null">
                and id = #{id}
            </if>
        </where>
    </select>

    <select id="findAllUser" resultMap="user">
        select * from user
    </select>

    <sql id="key">
        <trim suffixOverrides=",">
            <if test="id!=null">
                id,</if>
            <if test="name!=null">
                name,
            </if>

            <if test="age!=null">
                age,
            </if>
        </trim>
    </sql>
    <sql id="value">
        <trim suffixOverrides=",">
            <if test="id!=null">
                #{id},
            </if>
            <if test="name!=null">
                #{name},
            </if>
            <if test="age!=null">
                #{age},
            </if>
        </trim>
    </sql>

    <insert id="insertUser" parameterType="user">
        insert into user(<include refid="key"/>) values (<include refid="value"/>)
    </insert>

    <update id="updateUser" parameterType="user">
        UPDATE user
        <trim prefix="set" suffixOverrides=",">
            <if test="age!=null">age=#{age},</if>
            <if test="name!=null and name !=''">name=#{name},</if>
        </trim>
        WHERE id=#{id}

    </update>
    <delete id="deleteUser" parameterType="Integer">
        delete  from user where id = #{id}
    </delete>

    <delete id="deleteUserByList">
        delete  from user where id in
        <foreach collection="array" open="(" close=")" separator="," item="id">
            #{id}
        </foreach>
    </delete>

</mapper>

测试运行项目

http://127.0.0.1:8080/user/findAll

返回数据

[{"id":1,"name":"小明","age":18,"city":"深圳"},{"id":2,"name":"小明1","age":18,"city":"深圳"}]

源代码

链接: https://pan.baidu.com/s/11CVG6FyWrm67HR_ONVnVYw

提取码: tdfr

到此这篇关于springboot 使用mybatis查询的文章就介绍到这了,更多相关springboot  mybatis查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: springboot 使用mybatis查询的示例代码

本文链接: https://www.lsjlt.com/news/166484.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot 使用mybatis查询的示例代码
    目录示例1示例2返回数据源代码示例1 项目结构 代码controller中 UserController.java package com.example.demo1110.con...
    99+
    2024-04-02
  • java使用es查询的示例代码
    众所周知,elasticsearch简称es,它是基于基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放...
    99+
    2023-05-30
  • SpringBoot整合MyBatis-Plus的示例代码
    目录前言源码环境开发工具 SQL脚本 正文单工程POM文件(注意) application.properties(注意)自定义配置(注意)实体类(注意)...
    99+
    2024-04-02
  • mybatis-plus查询源码的示例分析
    这篇文章主要介绍mybatis-plus查询源码的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!配置详情pom.xmldependency>     &...
    99+
    2023-06-29
  • springboot 使用 minio的示例代码
    什么是MinIo MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视...
    99+
    2024-04-02
  • Mybatis查询记录条数的实例代码
    这几天在学SSM框架,今天在SSM框架中根据某个条件查询MySQL数据库中的记录条数,碰到一些问题,记录一下User.xml<select id="userNameValidate" parameterType="Strin...
    99+
    2023-05-31
    mybatis 查询记录 条数
  • SpringBoot中使用RocketMQ的示例代码
    目录1 订单微服务发送消息1.1 订单微服务添加rocketmq的依赖1.2 添加配置1.3 编写测试代码1.4 测试2 用户微服务订阅消息2.1 用户微服务增加rocketmq依赖...
    99+
    2024-04-02
  • springboot中使用groovy的示例代码
    目录GroovypomResourceScriptSourceDatabaseScriptSourceGroovy Groovy是一种基于Java的语法的基于JVM的编程语言。Gro...
    99+
    2024-04-02
  • 常用的MongoDB查询语句的示例代码
    目录背景方法查询示例示例一示例二示例三示例四尾言背景 最近做了几个规则逻辑。用到mongo查询比较多,就是查询交易信息跑既定规则筛选出交易商户,使用聚合管道进行统计和取出简单处理后的...
    99+
    2024-04-02
  • SpringBoot实现阿里云快递物流查询的示例代码
    一、前言 本文将基于springboot2.4.0实现快递物流查询,物流信息的获取通过阿里云第三方实现 可参考: https://market.aliyun.com/products...
    99+
    2024-04-02
  • MyBatis使用Map与模糊查询的方法示例
    当我们的实体类、或者数据库里的表、字段或者参数很多,这个时候考虑使用map 一、使用map传参插入数据 1.编写Dao接口/Mapper层 使用Map做参数 //Dao接口/...
    99+
    2024-04-02
  • SpringBoot使用prometheus监控的示例代码
    目录1.关于Prometheus2.有关Grafana3.SpringBoot使用Prometheus3.1 依赖内容3.2 配置文件3.3 设置application4.Prome...
    99+
    2024-04-02
  • Django ORM 多表查询示例代码
    目录数据准备正向查询与反向查询基于对象的跨表查询正向查询一对多多对多一对一反向查询 一对多多对多一对一正向查询反向查询基于双下线的跨表查询正向查询一对一一对多多对多反向查询一对一一对...
    99+
    2024-04-02
  • SpringBoot+MyBatis+AOP实现读写分离的示例代码
    目录一、 MySQL 读写分离1.1、如何实现 MySQL 的读写分离? 1.2、MySQL 主从复制原理?1.3、MySQL 主从同步延时问题(精华)二、SpringBo...
    99+
    2024-04-02
  • MyBatis流式查询的示例分析
    这篇文章主要介绍MyBatis流式查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!导读:流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低...
    99+
    2023-06-15
  • MyBatis-Plus 分页查询的实现示例
    方法: 使用selectPage()方法,第一个参数是传入分页方法(传入当前页和当前显示多少条数据),第二个参数是传入查询条件(如果查询全部的话,可以传null)。 前提: 表中的...
    99+
    2024-04-02
  • SpringBoot mybatis 实现多级树形菜单的示例代码
    一、前言 iview-admin中提供了 v-org-tree 这么一个vue组件可以实现树形菜单,下面小编来提供一下在element-ui中的使用教程(项目见:https://gi...
    99+
    2024-04-02
  • MySQL实现查询分位值的示例代码
    目录背景业务背景思考效果参考背景 分位值的概念 分位值:分位值(Quartile)是一种用于描述数据分布的统计概念,在统计学和数据分析中经常被用到。一般情况下,分位值分成四个等份,分别为第一分位数(Q1)、第二分位数(Q...
    99+
    2023-04-24
    MySQL 查询分位值 MySQL 分位值
  • MybatisPlus实现分页查询和动态SQL查询的示例代码
    目录一、描述二、实现方式三、 总结一、描述 实现下图中的功能,分析一下该功能,既有分页查询又有根据计划状态、开始时间、公司名称进行动态查询。 二、实现方式 Controller层...
    99+
    2024-04-02
  • Layui实现多条件查询的示例代码
    最近做一个档案系统,发现字段超多 带分页的多条件查询(分页需要后端分页,传page给后端才可实现,前端无法直接实现) 当我们点击搜索按钮时会筛选出输入值的相关数据,多条件查询是建立在...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作