Mybatis原生态使用

     这里有个兄弟写得不错,可以看他的:https://blog.csdn.net/sun_aichao/article/category/5579867

  1. 使用普通的maven项目就可以,这里以mysql数据库为例哈,数据库中已经有t_mmal_user这张表
    目录结构:

    Mybatis原生态使用_第1张图片

  2. pom.xml中加入mybatis和mysql相关jar引用:
     

    
    
      org.mybatis
      mybatis
      3.4.6
    
    
    
      mysql
      mysql-connector-java
      5.1.38
    

     

  3. 配置mybatis.xml文件,主要是根据数据库类型配置登陆信息

    
    
    
        
            
            
            
            
                
                
                
                
            
            
        
    

     

  4. 建立User的Demo:
     

    package com.scu.tgm.mybatis.domain;
    
    import java.util.Date;
    
    public class User {
        private Integer id;
    
        private String username;
    
        private String password;
    
        private String email;
    
        private String phone;
    
        private String question;
    
        private String answer;
    
        private Integer role;
    
        private Date createTime;
    
        private Date updateTime;
    
        省去getter和setter
    }

     

  5. 配置查询数据库的sql:

    
    
    
    
        
        
        
    
  6. mybatis文件中引用mapping文件:

     

    
    
    
        
            
            
            
            
                
                
                
                
            
            
        
    
        
            
            
        
    
    

     

  7. 查询例子
     

    package com.scu.tgm.mybatis;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    import com.scu.tgm.mybatis.domain.User;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    public class App {
    
        public static void main(String[] args) throws IOException {
            //mybatis的配置文件
            String resource = "mybatis.xml";
            //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
            InputStream is = App.class.getClassLoader().getResourceAsStream(resource);
            //构建sqlSession的工厂
            SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
            //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
            //Reader reader = Resources.getResourceAsReader(resource);
            //构建sqlSession的工厂
            //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
            //创建能执行映射文件中sql的sqlSession
            SqlSession session = sessionFactory.openSession();
            /**
             * 映射sql的标识字符串,
             * com.scu.tgm.mybatis.mapper.UserMapper是user-mapping.xml文件中mapper标签的namespace属性的值,
             * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
             */
            String statement = "com.scu.tgm.mybatis.mapper.UserMapper.getUser";//映射sql的标识字符串
            //执行查询返回一个唯一user对象的sql
            User user = session.selectOne(statement, 1);
            System.out.println(user);
        }
    }

    总结:在数据库中有表,类也有对应表类情况下,就是加载mybatis和相关数据库驱动,配置mybatis文件,配置查询数据库的mapping文件

你可能感兴趣的:(mybatis)