1. maven的pom文件添加引用

           
                org.mybatis
                mybatis
                3.4.5
            

            
                mysql
                mysql-connector-java
                6.0.6
            

  2. 在resource目录下添加mybatis-config.xml


      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
     
     
          
          

          
              
                  
                  
                      
                      
                      
                      
                  

              

          

          
          
              
          

     


  3. 添加application.properties

    database.username=root
    database.password=
    database.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
    database.driver=com.mysql.jdbc.Driver

    (url后UTC是指定数据库的时区,不然可能会报时区错误)


  4. 新建mapper.java和mapper.xml

    mapper.java

    public interface UserMapper {
        List getUser2();
    }

    mapper.xml

        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


        
            
            
            
            
        

        
        

    (typeHandler属性是对返回值做转换的,下一节详细讲述。)


  5. 新建JavaBean的User类和枚举TypeEnum

    public class User {
        private int id;
        private String username;
        private String password;
        private TypeEnum type;

    }

    public enum TypeEnum {
        STUDENT(1, "学生"), TEACHER(2, "老师");
        private int typeId;
        private String typeName;
        TypeEnum(int id, String name) {
            typeId = id;
            typeName = name;
        }
        static Map enumMap = new HashMap();
        static {
            for (TypeEnum type : TypeEnum.values()) {
                enumMap.put(type.getTypeId(), type);
            }
        }
        public static TypeEnum getEnum(Integer value) {  
            return enumMap.get(value);  
        }

        public String toString() {
            return this.typeName;
        }

    }

     

  6. 新建类TypeHandler继承BaseTypeHandler,实现类型转换的详细功能

  7. 在Main方法中写入下列代码,并执行。

    public static void main( String[] args ) throws IOException
        {
            
            InputStream is = Resources.getResourceAsStream("myBatis.xml");
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            SqlSessionFactory factory = builder.build(is);
            SqlSession session = factory.openSession();
            
            try {
                UserMapper mapper = session.getMapper(UserMapper.class);
                List users = mapper.getUser2();
                System.out.println(users);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

输出为:[{"id":1, "password":123456, "username":tom, "type":学生}, {"id":2, "password":123456, "username":jack, "type":老师}, {"id":3, "password":123456, "username":rose, "type":学生}]