• 关于《Mybatis》的小总结【一】


        

     

    Mybatis源自Apache的ibatis开源项目,从3.x版本开始更名为Mybatis。通常,我们将sql'写在Java代码中,但是呢有人说它不利于后期维护,因为和Java代码耦合度太高。放到Mapper.xml中方便改改sql语句。

    【一、Idea中怎么使用Mybatis】

    1、首先加入M一把提升所依赖的Jar包。

    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        2.1.4
    
    
    
        mysql
        mysql-connector-java
        runtime
    

    2、数据库链接

    数据库的链接方式,有很多很多种啊,大家随便用。这里再尝试一种新的链接方式

    使用Mybatis-config.xml配置文件

    
    
    
    
        
        
            
            
                
                
                    
                    
                    
                    
                
            
        
    
        
            
            
        
    
    

    3、创建小小的数据库测试表

    4、创建java连接Mybatis.xml的接口

    package com.frozen.control;
    
    import org.apache.ibatis.annotations.Param;
    
    /**
     * @Author HoYL
     * @Date 2022/8/27
     */
    public interface IMybatis {
        //当方法中的变量为一个String类型时,在xml文件中的sql语句#{}中内容可以随便写
        //当方法中的变量为两个及以上的String类型时,在xml文件sql语句中#{}中的内容应该为0, 1,或param1, param2
        //如果在接口方法中使用@Param(""),其中内容与#{}中内容相同,在程序开发时,不管有几个,都建议使用@Param
        //如果方法名中是一个自定义类型,则只需要在使用自定义类中的set方法为其赋值,在使用接口中的抽象方法即可实现
        String getstuClassName(@Param("id") String id);
    
    }
    

    5、创建今天最主要的东西,Mybatis.xml

    
    
    
    
        
        
    
    

    6、进行测试

    package com.frozen.control;
    
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.io.InputStream;
    
    /**
     * @Author HoYL
     * @Date 2022/8/27
     */
    @RestController
    @RequestMapping("/hoyl")
    public class MybatisL {
        @GetMapping("/ly")
        public String getstuClassName(){
            try {
                //加载配置全局文件
                InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
                //SQLSession对象表示一次数据库连接
                SqlSessionFactory factory =new SqlSessionFactoryBuilder().build(inputStream);
                SqlSession sqlSession = factory.openSession();
                //↑ openSession()中有true和false的参数,若为true,则自动提交事务,若为false,则需要手动提交,默认为false
                //从SQLSession中获取接口实现类对象
                IMybatis hoyl = sqlSession.getMapper(com.frozen.control.IMybatis.class);
    
                String name = hoyl.getstuClassName("1");
                //资源释放
                sqlSession.close();
                return name;
            }catch (Exception e){
                e.printStackTrace();
                return "error";
            }
        }
    
    }
    

     

  • 相关阅读:
    在UMG中播放图像序列,出现卡帧怎么办?
    寒武纪“动荡”的 6 周年:CTO 梁军离职,市值蒸发 59 亿,核心技术人才仅剩 3 人
    彻底掌握Makefile(三)
    echarts实现横轴刻度名倾斜展示,并且解决文字超出部分消失问题
    Python 接口测试之接口关键字封装
    磁盘io使用率高问题排查
    蒟蒻初学单片机的一丢丢笔记
    MySQL表名区分不区分大小写,规则是怎样
    JavaScript---函数arguments参数直接获取的方式
    【Web安全】注入攻击
  • 原文地址:https://blog.csdn.net/qq_40687809/article/details/123409239