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

Mybatis入门案例(1)

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

Mybatis入门案例(1)

1、Mybatis官网

mybatis – MyBatis 3 | 入门https://mybatis.org/mybatis-3/zh/getting-started.html

2、百度百科

(1)历史:

MyBatis 最开始是apache的一个开源项目iBatis,iBatis是由Clinton Begin(克林顿·贝恩)在2001年发起的开放源代码项目,iBATIS一词来源于“internet”和“abatis”的组合。

2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。

2013年11月迁移到Github。

(2)基本信息:

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的pojo(普通的 Java对象)映射成数据库中的记录。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。 (用到设计模式:工厂模式,代理)

优点:

(1)解除sql与程序代码的耦合,让sql语句在xml里面配置文件,从而使得sql与程序结构。但是它有区别与另外一个框架的整合ssh中的h(hibernate),mybatis是一种半自动的持久层的框架,它支持自定义sql语句。

(2)简化JDBC的代码书写(减少了50%以上的代码量)

(3)用标签代替编写逻辑代码

3、入门案例体验mybatis

    点击官网后,我们点击入门,就会看到以下的界面。

 第一步:需要导入相应的依赖

导入这些jar包的原因:既然要用mybatis肯定要导入mybatis的核心jar,但是由于mybatis是跟数据库打交道的,所以需要mysql-connector的jar,由于采用的maven构建项目,需要junit测试jar,由于mybatis需要配合上日志输出,故导入log4j的jar

 
        
            mysql
            mysql-connector-java
            5.1.47
        

        
            org.mybatis
            mybatis
            3.5.2
        
        

        
            junit
            junit
            4.12
            test
        

        
            log4j
            log4j
            1.2.17
        

第二步:在resource里面创建mybatis的核心xml文件。可在官网直接复制,进行轻微改动,并创建数据库的表(建表语句如下)

CREATE TABLE `student` (
  `sid` int NOT NULL AUTO_INCREMENT,
  `sno` int DEFAULT NULL,
  `sname` varchar(10) DEFAULT NULL,
  `ssex` char(1) DEFAULT NULL,
  `sage` smallint DEFAULT NULL,
  `saddress` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`sid`),
  ConSTRAINT `student_chk_1` CHECK ((`Ssex` in (_utf8mb4'男',_utf8mb4'女'))),
  ConSTRAINT `student_chk_2` CHECK ((`Sage` > 12))
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3;



insert  into `student`(`sid`,`sno`,`sname`,`ssex`,`sage`,`saddress`) values (1,2015010312,'张明','男',22,'四川省成都市成华区'),(2,2015010313,'秦羽','女',19,'陕西省西安是未央区');

注意:xml配置文件的名字需要采用

mybatis-config.xml

在官网上复制一下代码




  
    
      
      
        
        
        
        
      
    
  
  
    
  

进行如下改造




    
        
            
            
                
                
                
                
                
                
                
                
            
        
    
    
        
        
    

第三步:写mybatis的工具

package com.mybatis.utils;

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 java.io.InputStream;
public class MybatisUtil {
    static SqlSessionFactory factory;
    
    static {
        //首先需要读取Mybatis核心配置文件的内容
        String resource="mybatis-config.xml";
        try {
            InputStream is = Resources.getResourceAsStream(resource);
            factory= new SqlSessionFactoryBuilder().build(is);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static SqlSession getSqlSession(){
        return factory.openSession();
    }

}

第四步:创建实体类(如果要采用注解写实体类,需要导入lombok)

package com.mybatis.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data  //  get  set  eq  toString
@AllArgsConstructor  // 有参构造
@NoArgsConstructor   // 无参构造
public class Student {
    private int sid;
    private int sno;
    private String sname;
    private String ssex;
    private int sage;
    private String saddress;
}

 第五步:写dao层的接口以及实现的xml

maven的结构如下:(在resource里面创建文件路径“commybatisdao”)xml与dao层接口的名字要一致

 

 

 

dao层接口代码

package com.mybatis.dao;

import com.mybatis.pojo.Student;

import java.util.List;

public interface StudentMapper {
    //查询所有数据
    public List getStudentList();
}

xml配置文件

namespace:写dao层接口的全路径

id:写到层的方法名

resultType:写放回值的类型




    
        select * from student
    

注意:这个xml配置文件写完后,需要在核心配置文件中的xml的将StudentMapper.xml绑定上去(此时的核心配置文件如下)




    
        
    
    
        
            
            
                
                
                
                
                
                
                
                
            
        
    
    
        
        
    

测试结果如下(证明用Mybatis查询数据库成功):

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331934.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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