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

MyBatis程序创建

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

MyBatis程序创建

MyBatis程序创建

​ 首先我们了解MyBatis的作用,其主要的作用是进行对数据进行连接,并且简化掉JDBC的连接操作,从而使开发人员可以专注于在Sql语句的编写,而不是需要分散注意力于在与数据库的连接,和使用PreparedStatement上。

修改pom.xml文件

​ 在新建工程后,我们进入工程,然后删除所持有的src文件夹。然后我们需要开始进行对pom.xml配置文件的新增。这样我们以后在此工程中新建模块后我们都会得到当前pom.xml的文件,而不需要在此在新模块中再次修改在模块中的pom.xml的文件配置。

​ 在修改pom.xml文件之前,我们需要首先明白我们在学习MyBatis之前所需要的的.JAR包。我们通过maven来进行对包的导入。

  • mybatis
  • mysql
  • junit

并且由于Maven自身,我们需要进行对文件的过滤,及在依赖项下面补充

   com.YUME
    MyBatisStudy
    pom
    1.0-SNAPSHOT
    
        MyBatisStudy-01
    

    
        16
        16
    

    
        
        
            mysql
            mysql-connector-java
            8.0.25
        
        
        
            org.mybatis
            mybatis
            3.5.6
        
        
        
            junit
            junit
            4.13.1
            test
        
    
    
        
            
                src/main/java
                
                    ***.properties
                    ****/*.xml
                
                false
            
        
    
创建mybatis-config.xml资源文件

此资源文件的文档可以在MyBatis的官方项目文档中找到模板,我们需要进行修改。注意在url的value值的设定中,我们需要进行对数据库的时区的设置,并且在此文件的url值中,我们所使用的并不是&来进行连接各个参数的设置。




    
        
            
            
                
                
                
                
            
        
    
    
        
    

创建MyBatisUtils包

使用了工厂模式,我们需要设置我们在上一步所设置的xml文件路径,使用数据流进行导入,然后创建一个新的工厂。

sqlSessionFactory.openSession();来进行对SqlSession对象的创建。

package com.YUME.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.IOException;
import java.io.InputStream;

public class MyBatisUtils {

    private static SqlSessionFactory sqlSessionFactory;

    static {
        try {
            String res = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(res);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}
创建pojo类

创建一个JavaBean类,来对应我们的数据库。

package com.YUME.pojo;

public class Bird {
    private String name;
    private int age;

    public Bird(){}

    public Bird(String name,int age){
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
创建Mapper接口

我们在接口中创建我们所需要使用的方法。

package com.YUME.dao;

import com.YUME.pojo.Bird;

import java.util.List;

public interface BirdMapper {
    List getBird();
}
创建Mapper.xml文件

我们在xml文件中进行对在接口中声明的方法进行实现, namespace为我们所实现的接口的路径,id即是所实现的方法名,resultType即是返回的类型。




    
        select * from bird
    

进行测试

我们首先需要进行对SqlSession类的获取,由于我们之前已经书写过获取SqlSession对象的Util包,我们直接调用即可获取。

我们一共有两种的获取Mapper接口的方法,一种是通过SqlSession对象来进行获取Mapper类,另一种即是通过selectList来获取,但是这种方法是在以前使用的,并不推荐使用。

在获取这个Mapper接口后,我们及可以进行对其进行使用方法。

package com.YUME.dao;

import com.YUME.pojo.Bird;
import com.YUME.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.*;
import java.util.List;

public class TestBirdMapper {
    @Test
    public void testGetBird(){
        SqlSession sqlSession = null;
        
        try {
            //获得SqlSession对象
            sqlSession = MyBatisUtils.getSqlSession();

            //获得Mapper
            BirdMapper birdMapper = sqlSession.getMapper(BirdMapper.class);
            List birds = birdMapper.getBird();

            //方法二: 不推荐
            //List birds = sqlSession.selectList("com.YUME.dao.BirdMapper.getBird");

            for (Bird bird : birds) {
                System.out.print(bird.getName()+"  ");
                System.out.println(bird.getAge());
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            sqlSession.close();
        }

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

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

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