使用Mybatis实现基本crud.md

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

一、向数据库插入数据 (新增)


1.1、在UserDAO中添加addUser方法

1.2、在UserMapp.xml中匹配addUser方法,并维护sql语句

 

<insert id="addUser">
        insert into t_user (id,user_name,passwd) values (#{id},#{name},#{passwd})
    </insert>

 

1.3、在controller中测试

@RequestMapping("/t8")
    public int t8(){
        int count = dao.addUser(new User(1001L,"mike","321"));
        return count;
    }

测试结果

 

二、从数据库查询数据(登录)


2.1、在UserDAO中添加login方法

 

2.2、在UserMapp.xml中匹配login方法,并维护sql语句

<select id="login" resultType="demo.entity.User">
        select * from t_user where user_name=#{userName} and passwd=#{passwd}
    </select>

2.3、在controller中测试 

@RequestMapping("/login")//登录
    public String login(String userName,String passwd){
        User u = dao.login(userName,passwd);
        if(u != null){
            return "登录成功";
        }else{
            return "登录失败";
        }
    }

测试结果

 

 

三、根据id修改数据(改)


3.1、在UserDAO中添加updateUser方法

 

3.2、在UserMapp.xml中匹配updateUser方\法,并维护sql语句

 

<update id="updateUser">
        update t_user set user_name=#{name},passwd=#{passwd} where id=#{id}
    </update>

 

3.3、在controller中测试

@RequestMapping("/t9")
    public int t9(){
        int count = dao.updateUser(new User(1001L,"kangkang","7788"));
        return count;
    }

测试结果

 

 

四、根据id删除数据(删)


4.1、在UserDAO中添加deleteUser方法 

 

4.2、在UserMapp.xml中匹配deleteUser方法,并维护sql语句

<delete id="deleteUser">
        delete from t_user where id=#{id}
    </delete>

 

4.3、在controller中测试

@RequestMapping("/t10")
    public int t10(){
        int count = dao.deleteUser(1001L);
        return count;
    }

测试结果

 

源代码合集 


 

 

User源代码

import lombok.Data;
import lombok.NoArgsConstructor;

@Data//set和get还有toString
@AllArgsConstructor//有参构造
@NoArgsConstructor//无参构造
@TableName("t_user")//设置表名
public class User {
    @TableId
    private Long id;

    @TableField("user_name")//修改name和数据库对应
    private String name;

    private String passwd;
}

UserDAO源代码

package demo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import demo.entity.User;

public interface UserDAO extends BaseMapper<User> {
    /**
     * 登录
     */
    public User login(String userName,String passwd);
    /**
     * 新增数据
     */
    public int addUser(User user);
    /**
     * 根据id修改数据
     */
    public int  updateUser(User user);
    /**
     * 根据id删除数据
     */
    public int deleteUser(Long id);

}

TestConeroller源代码

package demo.controller;

import demo.entity.User;
import demo.dao.UserDAO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;

@RestController
@Slf4j
public class TestController {
    @Autowired(required = false)
    private UserDAO dao;
    
    @RequestMapping("/t2")//增
    public int insertUser(){
        int count = dao.insert(new User(null,"admin","123"));
        return count;
    }
    @RequestMapping("/t3")//查
    public List<User> t3(){
        List<User> users= dao.selectList(null);
        return users;
    }
    @RequestMapping("/t4")//根据id查
    public User t4(){
        //根据id查询
        User u =dao.selectById(1001L);
        return u;
    }
    @RequestMapping("/t5")//根据id修改数据
    public int t5(){
        //根据id修改
        int count = dao.updateById(new User(88121345L,"mike","111"));
        return count;
    }
    @RequestMapping("/t6")//根据id删
    public int t6(){
        int count = dao.deleteById(1001L);
        return count;
    }
    @RequestMapping("/t7")//根据多个id批量删数据
    public int t7(){
        int count = dao.deleteBatchIds(Arrays.asList(1592420385389924353L,1592420384727224322L,1592420367253753857L));
        return count;
    }
    @RequestMapping("/login")//登录
    public String login(String userName,String passwd){
        User u = dao.login(userName,passwd);
        if(u != null){
            return "登录成功";
        }else{
            return "登录失败";
        }
    }
    @RequestMapping("/t8")
    public int t8(){
        int count = dao.addUser(new User(1001L,"mike","321"));
        return count;
    }
    @RequestMapping("/t9")
    public int t9(){
        int count = dao.updateUser(new User(1001L,"kangkang","7788"));
        return count;
    }
    @RequestMapping("/t10")
    public int t10(){
        int count = dao.deleteUser(1001L);
        return count;
    }
}

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="demo.dao.UserDAO">
    <select id="login" resultType="demo.entity.User">
        select * from t_user where user_name=#{userName} and passwd=#{passwd}
    </select>
    <insert id="addUser">
        insert into t_user (id,user_name,passwd) values (#{id},#{name},#{passwd})
    </insert>
    <update id="updateUser">
        update t_user set user_name=#{name},passwd=#{passwd} where id=#{id}
    </update>
    <delete id="deleteUser">
        delete from t_user where id=#{id}
    </delete>
</mapper>

application.yml源代码

server:
  port: 8888
spring:
    # 配置数据源信息
    datasource:
      # 配置数据源类型
      type: com.zaxxer.hikari.HikariDataSource
      # 配置连接数据库信息
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/car_manager?characterEncoding=utf-8&useSSL=false
      username: root
      password: 123456
#mybatisPlus相关配置
mybatis-plus:
  mapper-locations: classpath:mappers/*.xml

Demo源代码

package demo;

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

@SpringBootApplication
@MapperScan("demo.dao")//扫描dao的路径
public class Demo {
    public static void main(String[] args) {
        SpringApplication.run(Demo.class,args);
    }
}

在idea往数据库里加数据 一.连接数据库 先连接数据库,url:mysql数据库的本地路径,数据库名字 username:账户 Password:密码 二.写sql的新增: 示例:INSERT INTO address(address.customer_id,address.address,address.gmt_create) VALUE(?,?,NOW()) 讲解:INSERT 新增 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, 阅读详情

相关推荐

IDEA如何链接本MySQL数据库(保姆教程)

如何创建数据库,并且使数据库和IDEA链接,在代码中获取数据库中的数据

ahualong1的博客 5330

IDEA如何导入数据库

对于使用Java语言刚开始写项目的同学们,我们可能经历过往页面存假数据的一些经历,以便于页面展示内容和一些功能的实现。随着技术的积累,我们最后要从数据库里拿出数据返回给前端页面,那么今天我给大家讲一下idea如何绑定自己的数据库。在我们刚开始做项目的时候我们往往会往数据库里填入各种各样的设计数据表,那么有了这个类似小海豚图标的console以后我们可以更加便捷的输入指令才更改数据库里面的数据,大家有没有学到呢?

m0_72106802的博客 2万+

MySql的安装与IDEA配置Mysql数据库

MySQL的安装与IDEA的连接

m0_60416689的博客 6441

IDEA导入数据库

1. 找到database(一般都在idea的窗口右边) 2. 点击窗口的+号图标然后选择data source 再选择你要连接的数据库 3.自定义一个名字,输入设置的数据库的名字和密码,点apply后,点击advanced找到serverTimezone,在value处填写UTC,应用后点Test connection测试是否能够连接成功 4. 连接成功,去勾选你要显示的数据库,选好后点击应用,确定然后退出 5.找到创建的数据库就可以了 ...

weixin_45947230的博客 1万+

【速通后端crud业务】-员工管理

C:create(增)R:read (查)U:update(改)D:delete (删)

Hazehacker的博客 782

springboot03、实现mybatis

2、数据源配置application.properties 3、model对应数据库的类Users 4、dao层·需要加上@Repository注解 5、添加映射文件UsersMapper.xml 6、service层编码 7、serviceimpl层编码 8、Controller层编码 9、测试效果: 可以使用postman测试:............

红目香薰 1249

基于SpringBoot+mysql实现一个简单的增删改查

使用SpringBoot+mysql去实现一个简单的增删改查

weixin_66709611的博客 3366

MyBatis-Plus数据安全保护(加密解密)

项目创建、POM依赖、YML配置、SQL脚本、代码生成、加密算法、字段加密、加密测试、自定义算法

tongxin_tongmeng的博客 4289

商场项目安排

商场项目代码

fhjkkkjh的博客 61

苍穹外卖日记 | Day2 员工模块 And 分类模块

Day2总算开始接触实际的功能接口开发了,由于之前写过两个Web项目,所以基本CRUD写起来还是不费劲的。两个模块的编写让我更加熟悉了具体的开发流程,也更加规范了我自己的代码。打日志的习惯,全局异常处理,BeanUtils、DigestUtils、ThreadLocal的使用,消息对象转换器的自定义,出现异常如何通过打断点调试快速定位,存在关联无法删除的业务逻辑书写,动态SQL语句使用场景,总的来说第二天的收获也挺大的。

兑现自己能兑现的天赋吧 1086

【博客系统】基于Spring全家桶的博客系统(下)

本文介绍了博客系统持久层代码的实现,包括实体类、Mapper接口以及请求响应模型的封装。使用MyBatis-Plus简化数据库操作,通过Lombok减少样板代码,并采用严格的参数校验确保数据安全。系统分为请求类(Request)和响应类(Response),前者用于接收前端参数并进行校验,后者统一后端返回数据结构。整体设计注重代码简洁性和安全性,为后续业务逻辑开发奠定基础。

2301_81614213的博客 795

springboot_03

新建注解@State配套写校验器校验器逻辑:如果state不在允许列表则抛异常在 DTOstate字段上加@State启用校验。

2401_88278776的博客 212

2.java秒杀项目第二课-后端登录功能

IsMobile 是一个自定义的 Java 验证注解,用于验证手机号码格式是否正确。它包含以下四个元注解:表示该注解应该被 javadoc 工具记录,使注解信息出现在生成的文档中。指定注解的保留策略为运行时保留,这意味着注解信息会在编译后的 class 文件中存在,并且在运行时可以通过反射获取。RetentionPolicy 的三种策略:注解只保留在源文件中,当 Java 文件编译成 class 文件时,注解被丢弃。

yxl219的专栏 198

【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之后端环境搭建

跟着黑马敲了黑马点评和苍穹外卖,但是感觉黑马教程封装的太好了。于是想自己从零到一搭建一个前后端分离的简单项目。记录一下自己的实现过程。

nxbsc_wanglc的专栏 299
上一篇: Mybatis的基本使用流程
下一篇: MyBatis日志的使用
周途
博客等级 码龄4年 5粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值