MyBatis:第一个程序(狂神)

MyBatis:第一个程序(狂神)_第1张图片

MyBatis:第一个程序(狂神)_第2张图片

pom.xml:



    4.0.0

    
    com.group
    MyBaits
    pom
    1.0-SNAPSHOT
    
    
        mybait-01
    


    
    
        
        
            mysql
            mysql-connector-java
            5.1.47
        
        
        
        org.mybatis
        mybatis
        3.5.9
        
        
        
            junit
            junit
            4.12
        
    


    
        
            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
                true
            

            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                true
            
        
    

创建子模块块Maven: 

 

mybatis-config.xml:





    
        
            
            
            
                
                
                
                
            
        
    


    
        
    


MybatisUtils:

package com.kuang.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;

//sqlSessionFactory --sqlSession
public class MybaitsUtils {
    private static SqlSessionFactory sqlSessionFactory;//提升作用域
    /*
    所谓的代码块就是一段独立的代码空间,那什么是静态代码块呢?说白了,静态代码块就是用static修饰的代码块,关于静态代码块的概念不多说,不过你需要知道它的一个特点,那就是

   随着类的加载而执行,而且只执行一次
     */
    static{
        try {
            //使用MyBaits获取sqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。
    // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
    public static SqlSession getSqlSession(){
        //获取SqlSession对象
         SqlSession sqlSession=sqlSessionFactory.openSession();
         return sqlSession;
    }
}

MyBatis:第一个程序(狂神)_第3张图片

 User11:

package com.kuang.pojo;
//实体类
public class User11 {
    private int id;
    private String name;
    private String pwd;

    public User11() {
    }

    public User11(int id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public int getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    @Override
    public String toString() {
        return "User11{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pwd='" + pwd + '\'' +
                '}';
    }
}

UserDAO:

package com.kuang.dao;

import com.kuang.pojo.User11;

import java.util.List;

public interface UserDao {
    List getUserList();
}

UserMapper.xml:




    
    

UserDAOTest:

package com.kuang.dao;

import com.kuang.dao.UserDao;
import com.kuang.pojo.User11;
import com.kuang.utils.MybaitsUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class UserDAOTest {
    @Test
    public void test(){
        //第一步:获取SqlSession对象
        SqlSession sqlSession= MybaitsUtils.getSqlSession();

        //方式一:getMapper  获取代理对象dao
        UserDao userDao=sqlSession.getMapper(UserDao.class);
        List user11List=userDao.getUserList();

        //方式二:不推荐使用
       // List user11List = sqlSession.selectList("com.kuang.dao.UserDao.getUserList");

        for (User11 user:user11List){
            System.out.println(user);
        }

        //关闭SqlSession
        sqlSession.close();
    }
}

MyBatis:第一个程序(狂神)_第4张图片

MyBatis:第一个程序(狂神)_第5张图片

 

你可能感兴趣的:(MyBatis框架学习,java,开发语言,MyBatis)