首页 > 其他分享 >2024.09.27

2024.09.27

时间:2024-10-17 15:02:07浏览次数:1  
标签:27 spring 2024.09 public flag user mybatis id

今天学习了如何使用Mybatis实现增删改查 为此做一个梳理发表一篇博客,也是为了总结一下 首先,要使用Mybatis需要添加依赖 从建立项目的时候选择java8+Springboot2这样的方式,避免高版本存在一些兼容性的问题 然后添加Mybatis-plus依赖,老师讲的是添加了plus会自动添加Mybatis的依赖,但是很遗憾我后续出现了报错因此还是手动添加了 复制代码  

  <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.4.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.0.7</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.5</version>
        </dependency>
复制代码

四个依赖 从上到下分别是 Mybatis-plus 、mysql、Mybatis、德鲁伊连接池

单独解释一下德鲁伊,说白了就是对数据库进行多次链接,提高连接的效率,然后报错的时候你就会发现,它会不断的报错,就像写了一个循环不断执行连接一样

然后配置properties

 
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis??useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=****
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

这里第三行如果写userUnicode=fasle会出现报错 因此我对编码进行了修改

然后需要对主类写一个@MapperScan的注解,注解的内容是要用到的接口所在的包

建议使用全名,这个是用于扫描mapper实现mybatis的操作的,因此路径不能错

 然后创建mapper和controller包,还是先写controller类

controller类中 首先添加@RestController注解,然后就可以等待实现一些mybatis的方法了

然后建议先创建entity包,用以把数据封装成对象,这样使用起来比较方便

建议创建的名称与数据库中一致,值得注意的是 Springboot中存在驼峰命名的规则

因此如果你的数据库中名称为day_id

在实体类中需要写dayId。

然后创建Mapper类

对Mapper类添加一个@Mapper的注解,意味着这是一个Mapper主键,上面在主类中所添加的@MapperScan注解就是为了在这里扫描到这个Mapper注解

然后就可以创建方法了

这里创建方法基于Mybatis就变得十分容易,只需要创建方法名称,然后添加对应接口就可以

例如

实现查询操作

 
@Select("select * from user")
public List<User> find();

这样就完成了接口的创建,去到Controller类中就可以实现对它的使用了

复制代码  
@GetMapping("/user")
        public List query()
        {
            List<User> list = userMapper.find();
            System.out.println(list);
            return list;
        }
复制代码

这里单独说一下,接口类是无法被实例化的,它是由spring自动实例化的,因此只需要在Controller类中添加一个

 
@Autowired
    private UserMapper userMapper;

就可以调用userMapper这个对象中的方法了

其他的三个方法也是类似的,单独说一下的是,如果你使用的是对象,在sql语句中需要写成#{}的格式,这样mybatis会自动从你所传入的参数中寻找和它一致的进行注入,但是如果不一致则需要进行注解和映射的配置,建议还是保持一致避免麻烦

 
 @Insert("insert into user values(#{id},#{username},#{password},#{birthday})")
        public int insert(User user);
    @Delete("delete from user where id = #{id}")
        public int delete(String id);
    @Update("update user set username = #{username},password = #{password},birthday = #{birthday} where id = #{id}")
        public int update (User user);

 

复制代码  
@PostMapping("/user")
        public String insert(User user)
        {
            int flag = 0;
            flag = userMapper.insert(user);
            if(flag>0)
            {
                return "插入成功";
            }else
            {
                return "插入失败";
            }

        }
        @PostMapping("/delete")
        public String delete(String id)
        {
            int flag = 0;
            flag = userMapper.delete(id);
            if(flag>0)
            {
                return "删除成功";
            }else
            {
                return "删除失败";
            }
        }
        @PostMapping("/update")
        public String update(User user)
        {
            int flag = 0;
            flag = userMapper.update(user);
            if(flag>0)
            {
                return "更新成功";
            }else
            {
                return "更新失败";
            }

        }
复制代码

然后需要传入参数的基本上都是post方法,当然写RequestMapping(value = "/",method =RequestMethod.POST)也是一样的

通过Apipost软件可以发送post请求,省去了创建form表单的过程。

标签:27,spring,2024.09,public,flag,user,mybatis,id
From: https://www.cnblogs.com/dmx-03/p/18472334

相关文章

  • 2024.09.30
    单独说一下Mybatis-plus上一篇中介绍了Mybatis的使用方法,对于Mybatisplus,我理解就是把一些方法提前封装好了,不需要自己定义接口类中的内容只需要直接调用即可,把接口类添加继承关系 这里要说的是BaseMapper后面的<User>是要搜索的类的名词,且最好类的名字和表的名字保持一致,......
  • 2024.09.20
    今天主要继续学习了springboot的相关内容,在昨天实现了基础的登录功能后,今天对增删改查有了更深刻的认识特别是通过连接hive,对于网页的getmapper和postmapper有了更深刻的认识,实现了基础的增删改查并且优化了页面repository包,其中建立了类,这个类就是用于继承JpaRepository这个类......
  • 2024.09.16星期一
    昨天遇到了启动beeline连接hive2报错的问题显示的是拒绝连接,一开始我以为是用户名密码问题,但是再三确认后发现并不是之后查找了site.xml文件,发现配置文件也没有问题,在寻找了很久之后,躺在床上无意间打开了解决方法这个问题来自于我的异常关闭,这也给了我教训,以后使用虚拟机的时候......
  • 2024.09.10星期二
        今天总结一下发现的几个问题今天我试图用IDEA连接hive数据库,在本周尽量多的练习一下增删改查,但是在配置过程中遇到了很多问题比如我最开始习惯性使用eclipse而这次由于需要添加很多的依赖,如果自己一个一个去打jar包会很麻烦,因此我选用了IDEA的maven项目,在创建过程......
  • 2024.09.11星期三
    今天学习了springboot的相关知识,由于自己使用原生的Maven经常出现tomcat配置与hive数据库冲突的问题,因此选择了内置tomcat不需要自己配置也更加先进的springboot确实也该学习一些新的技术不能总是局限于原生的javaweb了以下是今天踩的一些坑1.用IDEA创建springboot项目时,尽量......
  • 2024.09.11
    今天主要继续学习了springboot的相关内容,在昨天实现了基础的登录功能后,今天对增删改查有了更深刻的认识特别是通过连接hive,对于网页的getmapper和postmapper有了更深刻的认识,实现了基础的增删改查并且优化了页面repository包,其中建立了类,这个类就是用于继承JpaRepository这个类......
  • 2024.09.09 北京市政信件
         今天开学第一天,主要进行了北京市政百姓信件分析进行了爬虫import json import demjson3import requestsfrom bs4 import BeautifulSoupimport csv headers = {    'Host': 'www.beijing.gov.cn',    'User-Agent': 'Mozilla/5.0(Wi......
  • 国产RFSoC 28DR/27DR核心板
    采用FDW复旦微电子FMZQ28DR-RFSoC处理器,兼容Gen1ZU28/27、Gen3ZU48/47DRRFSoC,拥有8个RF-ADC、8个RF-DAC通道。提供完整的应用示例源代码和性能分析工具,主要用于小尺寸、低功耗、实时处理RF系统的快速集成与应用部署,缩短产品开发周期。主要技术指标:核心处理器:Ge3 ......
  • 清空redo,导致ORA-27048: skgfifi: file header information is invalid---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:清空redo,导致ORA-27048:skgfifi:fileheaderinformationisinvalid作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]客户由于空间不足,使用>redo命令清空了oracle的redo文件数......
  • 【CTF-SHOW】Web入门 Web27-身份证日期爆破 【关于bp intruder使用--详记录】
    1.点进去是一个登录系统,有录取名单和学籍信息发现通过姓名和身份证号可以进行录取查询,推测录取查询可能得到学生对应学号和密码,但是身份证号中的出生日期部分未知,所以可以进行爆破2.打开bp抓包这里注意抓的是学院录取查询系统发送POST类型进行查询的包,第一遍抓不到很正......