1.mybatis入门

  • 目录结构


    image.png
  • 准备pom.xml文件


  4.0.0

  com.mc
  mcMybatis
  0.0.1-SNAPSHOT
  war

  
    1.6
    UTF-8
  

  
    
      junit
      junit
      4.12
      test
    
    
      org.mybatis
      mybatis
      3.3.0
    
    
      mysql
      mysql-connector-java
      5.1.38
    
    
      org.slf4j
      slf4j-api
      1.7.12
    
    
      org.slf4j
      slf4j-log4j12
      1.7.12
    
    
      log4j
      log4j
      1.2.17
    
  

  
    
      
        maven-compiler-plugin
        
          ${java.version}
          ${java.version}
        
      
    
  

  • 创建mybatis-config .xml


    
        
    
    
     
        
    

    
        
            
                
            
            
                
                
                
                
            
        
    
    
        
        
    

简单介绍下这个配置:

  1. 中的logImpl属性指定使用log4j输出日志。
  2. 设置一个包的别名别名,配置过后在具体的xml中可以只写类名就可以。
  3. 中可以配置具体的mapper路径(通过resource),也可以通过包来配置(package)

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

/**
 * 用户表
 */
public class SysUser implements Serializable {
    private static final long serialVersionUID = -328602757171077630L;
    /**
     * 用户ID
     */
    private Long id;
    /**
     * 用户名
     */
    private String userName;
}
  • 在src/main/resources下添加log4j.properies,
log4j.rootLogger=ERROR, stdout

#MyBatis \u65E5\u5FD7\u914D\u7F6E
注意此包名必须和namesapce下面的包名一致
log4j.logger.com.mc.mapper=TRACE

##\u5168\u5C40\u914D\u7F6E
log4j.rootLogger=ERROR, stdout

#MyBatis \u65E5\u5FD7\u914D\u7F6E
#注意此包名必须和namesapce下面的包名一致
log4j.logger.com.mc.mapper=TRACE

#\u63A7\u5236\u53F0\u8F93\u51FA\u914D\u7F6E
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
  • 创建userMapper.java
public interface UserMapper {

    SysUser selectById(Long id);

    List selectAll();

    /**
     * 通过用户ID查询角色
     * @param userId
     * @return
     */
    List selectRolesByUserId(Long userId);
}
  • 创建userMapper.xml


    
        
        
        
        
        
        
        
    
    

    

    

    
        
          
          
          
          
          
          
          
        
          
        
        
        
    
    
    

```
- 让mybatis跑起来(必须和xml路径一致,xml创建包的时候必须一层一层创建,不然会有问题)
```/***
 * @ClassName BaseMapperTest
 * @Description todo
 * @Author CC
 * @Date: 2019/8/714:01
 * @Version 1.0
 */
public class BaseMapperTest {
    private static SqlSessionFactory sqlSessionFactory;

    @BeforeClass
    public static void init() {
        try {
            Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            reader.close();
        } catch (IOException ignore) {
            ignore.printStackTrace();
        }
    }

    public SqlSession getSqlSession() {
        return sqlSessionFactory.openSession();
    }
}
 * @ClassName UserMapperTest
 * @Description todo
 * @Author CC
 * @Date: 2019/8/714:09
 * @Version 1.0
 */
public class UserMapperTest extends BaseMapperTest {

    @Test
    public void testSelectById() {
        SqlSession sqlSession = getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        SysUser sysUser = mapper.selectById(1L);
        Assert.assertNotNull(sysUser);
    }

    @Test
    public void testSelectAll() {
        SqlSession sqlSession = getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List sysUsers = mapper.selectAll();
        Assert.assertNotNull(sysUsers);
        sqlSession.close();
    }

    @Test
    public void testSelectRolesByUserId() {
        SqlSession sqlSession = getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List sysRoles = mapper.selectRolesByUserId(1L);
        Assert.assertNotNull(sysRoles);
        sqlSession.close();
    }
}

你可能感兴趣的:(1.mybatis入门)