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

MyBatis入门和环境搭建

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

MyBatis入门和环境搭建

新时代打工人,加油!

了解MyBatis点这里文章
了解MyBatis和Hibernate的区别参考点这里文章
环境搭建前 数据库创建好
创建Maven工程

在pom.xml中添加坐标

    
        
        
            org.mybatis
            mybatis
            3.4.6
        
        
        
            mysql
            mysql-connector-java
            5.1.6
        
        
        
            log4j
            log4j
            1.2.12
        
        
        
            junit
            junit
            4.10
        
    

创建实体类

package com.itboy.domin;

import java.io.Serializable;
import java.util.Date;


public class User implements Serializable {
    private Integer id;
    private String sername;
    private Date birthday;
    private Character sex;
    private String  address;

    public Integer getId() {
        return id;
    }

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

    public String getSername() {
        return sername;
    }

    public void setSername(String sername) {
        this.sername = sername;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Character getSex() {
        return sex;
    }

    public void setSex(Character sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", sername='" + sername + ''' +
                ", birthday=" + birthday +
                ", sex=" + sex +
                ", address='" + address + ''' +
                '}';
    }
}

创建接口 IUserDao
要求:
创建位置:必须和持久层接口在相同的包中。
名称:必须以持久层接口名称命名文件名,扩展名是.xml

package dao;

import com.itboy.domin.User;

import java.util.List;

public interface IUserDao {
    
   List findAll();
}

在资源文件resources创建mybatis配置





    
    
        
        
            
            
            
            
                
                
                
                
            

        
    
    
    
        
        
    

在资源文件resources的com.itboy.dao包中创建sql语句




    

    SELECT *FROM USER


mybatis的环境搭建
第一步:创建maven工程并导入坐标
第二步:创建实体类和dao的接口
第三步:创建Mybatis的主配置文件
SqlMapConifg.xml
第四步:创建映射配置文件
IUserDao.xml

环境搭建的注意事项:
	第一个:创建IUserDao.xml 和 IUserDao.java时名称是为了和我们之前的知识保持一致。
		在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper
		所以:IUserDao 和 IUserMapper是一样的
	第二个:在idea中创建目录的时候,它和包是不一样的
		包在创建时:com.itheima.dao它是三级结构
		目录在创建时:com.itheima.dao是一级目录
	第三个:mybatis的映射配置文件位置必须和dao接口的包结构相同
	第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
	第五个:映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名

当我们遵从了第三,四,五点之后,我们在开发中就无须再写dao的实现类。

测试运行

package com.itboy.test;

import com.itboy.dao.IUserDao;
import com.itboy.domin.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;

import java.io.InputStream;
import java.util.List;


public class test {
    public static void main(String[] args) throws Exception{
        //1.读取xml文件
        InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2.创建SqlSessionFactory工厂对象
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        SqlSessionFactory factory = builder.build(in);
        //3.使用SqlSession对象
        SqlSession sqlSession = factory.openSession();
        //4.使用SqlSession创建dao接口的代理
        IUserDao userDao = sqlSession.getMapper(IUserDao.class);
        //5.使用代理对象执行方法
        List all = userDao.findAll();
        for(User user :all){
            System.out.println(user);
        }
        //6.释放资源
        sqlSession.close();
        in.close();
    }
}

运行结果

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

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

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