• 关于《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";
            }
        }
    
    }
    

     

  • 相关阅读:
    【人脸识别】Octuplet Loss:一个可以提高低分辨率和跨分辨率人脸识别效果的损失
    泰山OFFICE技术讲座:文字边框高度研究
    Java系列之:var关键字
    【防作弊】Unity防本地调时间作弊
    ChatGLM OPENCL 和 CUDA 哪个 GPU 加速计算框架更快
    Linux 进程间通信
    【华为机试真题 JAVA】事件推送-100
    对图的广度优先遍历BFS和深度优先遍历DFS的应用——基于LeetCode133 克隆图
    lottie-web 动画
    React Native 搭建开发环境和创建新项目并运行的详细教程
  • 原文地址:https://blog.csdn.net/qq_40687809/article/details/123409239