栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于mybatis的描述正确的是(mybatis入门菜鸟教程)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于mybatis的描述正确的是(mybatis入门菜鸟教程)

MyBatis的学习(一):初步了解MyBatis

框架是一个模板、是一个半成品的软件:

    框架中定义好了一些功能,这些功能是可用的。可以加入项目自己的功能,这些功能可以利用框架中写好的功能!
三层架构

界面层 User Interface layer

主要功能是接受用户的数据,显示请求的处理结构。

对应的包:controller包 (servlet)

业务逻辑层 Business Logic Layer

接收表示传输过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。

对应的包:service包(XXXservice类)

数据访问层 Data access layer

与数据库打交道。主要实现对数据的增删改查,将存储在数据库中的数据提交到业务层,同时将业务层的数据保存到数据库。

对应的包:dao包(XXXX类)

三层的处理请求的交互:

用户–>界面层–>业务逻辑层–>数据访问层–>DB数据库

三层对应的处理框架:

界面层--------servlet---------springMVC(框架)

业务逻辑层--------service类--------spring(框架)

数据访问层---------dao类---------mybatis(框架)

Mybatis的功能

    sql mapper:sql映射

    可以把数据库表中的一行数据,映射为一个java对象操作这个对象相当于操作表中的数据。

    Data Access Objects(DAos):数据访问

    数据访问,对数据库执行增删改查。

Mybatis提供了哪些功能?

    创建Connection、Statement、ResultSet的能力,不用开发人员再创建这些对象。执行sql语句的能力,不需要再执行提供了循环sql,把sql结果转为java对象,list集合的能力。提供了关闭资源的能力!

总结:mybatis是一个sql映射框架,提供了数据库的操作能力,可以说是一个增强的JDBC框架,使用mybatis可以让可以让开发人员集中精神写sql语句就可以了,不必关心Connection、Statement、ResultSet的创建和销毁,以及sql语句的执行过程。

初次使用 下载到本地

怎样在github上下载mybatis?

    登录github官网搜索mybatis,点击选择mybatis-3

    下拉找到download latest

    找到想要的版本然后点击就可以下载

第一个项目
    创建数据库表

    创建一个maven项目,加入mybatis的坐标和mysql数据库的驱动坐标

        
          org.mybatis
          mybatis
          3.5.5
        
    
        
        
          mysql
          mysql-connector-java
          5.1.47
        
    

    创建实体类,Student—保存表中的一行数据
package com.liang.entity;


public class Student {

    //定义属性,目前要求是属性名和列名一样

    private Integer id;
    private String name;
    private String email;
    private Integer age;

    public Student() {
    }

    public Student(Integer id, String name, String email, Integer age) {
        this.id = id;
        this.name = name;
        this.email = email;
        this.age = age;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", email='" + email + ''' +
                ", age=" + age +
                '}';
    }
}
    创建持久层的Dao接口,定义操作数据库的方法
package com.liang.dao;

import com.liang.entity.Student;

import java.util.List;


public interface StudentDao {

    
    public List selectStudents();
}

    创建一个mybatis的使用配置文件

    叫做sql映射文件:写sql语句的。一般一个表一个sql映射文件。

    这个文件是xml文件。

    ①文件写在接口所在的目录中。

    ②文件名称和接口保持一致。





    
    
    

    创建mybatis的主配置文件:mybatis.xml

    一个项目就一个主配置文件。主配置文件提供了数据库连接信息和sql映射文件的位置信息。





    
    
        
        
        
            
            
            
            
                
                
                
                
                
                
                
                
                
                
                
            
        

        
        
            
            
                
                
                
                
            
        

    

    

        
    



注意编译后的resources下的文件要拷贝到classes目录下,在pom文件中添加如下插件:


  
    
      src/main/java
      
        ***.xml
      
      
      false
    

    
      src/main/resources
      
        config
public class MyApp {
    public static void main(String[] args) throws IOException {
        //访问mybatis读取student数据
        //1. 定义mybatis主配置
        String config = "mybatis.xml";
        //2. 读取这个文件
        InputStream in = Resources.getResourceAsStream(config);
        //3. 创建SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        //4. 创建SqlSessionFactory对象
        SqlSessionFactory factory = builder.build(in);
        //5. 获取SqlSession对象【重要】
        SqlSession sqlSession = factory.openSession();
        //6. 指定执行sql语句的标识,sql映射文件中的namespace+"."+标签的id值【重要】
        String sqlId = "com.liang.dao.StudentDao"+"."+"selectStudents";
        //7. 执行sql语句
        List students = sqlSession.selectList(sqlId);
        //8. 输出结果
        //students.forEach(student -> System.out.println(student));
        //也可以这样输出
         for(Student student:students){
            System.out.println("查询的学生:"+student);
        }
        //9. 关闭资源
        sqlSession.close();
    }
}
    测试结果

使用2020版本之后的IDEA测试可能会报错:Error:(3, 28) java: 程序包org.apache.ibatis.io不存在

实在不行可以私信我帮助哦~

解决方法:参考下面的博客:

https://blog.csdn.net/weixin_44836728/article/details/108322959

https://blog.csdn.net/bin_bujiangjiu/article/details/106784700

https://blog.csdn.net/bin_bujiangjiu/article/details/106727561

测试结果:

    目录结构

总结步骤
    加入maven依赖创建Dao接口:接口中定义了你操作数据的方法创建mapper文件,也叫mapper映射:用来写sql语句,和接口中方法对应的sql语句创建mybatis的主配置文件:①连接数据库;②指定mapper文件的位置使用mybatis的对象,sqlsession,通过他的方法执行sql语句
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号