第一个mybatis应用测试

第一个mybatis应用测试

  • 项目结构

    第一个mybatis应用测试_第1张图片
    mybatis_Structure.png

  • 所需jar包,本测试使用maven管理,均使用中央仓库导入

    
        
            junit
            junit
            4.11
            test
        
        
        
            mysql
            mysql-connector-java
            8.0.13
        
        
        
            org.mybatis
            mybatis
            3.4.6
        
        
        
            org.hamcrest
            hamcrest-all
            1.3
            test
        
    
    
  • mybatis连接工具类:

package com.zakl.com.zakl.util;

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.InputStream;

public class MybatisUtil {
   private static SqlSessionFactory sqlSessionFactory;

   static {
       String resource = "mybatis.cfg.xml";
       InputStream in = null;
       try {
           in = Resources.getResourceAsStream(resource);
           sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
       } catch (Exception e) {
           e.printStackTrace();
       } finally {
           if (in != null) {
               try {
                   in.close();
               } catch (Exception e) {
                   e.printStackTrace();
               }
           }
       }
   }
   public static SqlSession getSession(){
       return sqlSessionFactory.openSession();
   }
}

  • Usermapper接口
package com.zakl.mapper;

import com.zakl.pojo.Userpojo;

public interface UserMapper {
   void insert(Userpojo userpojo);
}
  • Userpojo类
    public class Userpojo {
    private int id;
    private String username;
    private String password;
    
    省略get set方法
  • mybatis.cfg.xml数据库连接配置:



    
    
        
        
            
            
            
            
                
                
                
                
                
            
        
    

    
    
        
        
    


这里要注意是否添加?serverTimezone=UTC,新版本的mysql需要添加这个,否者会报错。

  • Mapper.xml映射配置
    
    
    
    
        insert into users(username,password) values (#{username},#{password})
    
   

注意命名空间
其中的 中的id就是UserMapper接口中的方法名。可以理解成UserMapper接口对应的实现类

namespace="com.zakl.mapper.UserMapper"应当为Mapper接口位置。

最后进行测试

  • 测试类:
package com.zakl;

public class AppTest {
    @Test
    public void demo() {
        SqlSession sqlSession = MybatisUtil.getSession();

        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        Userpojo userpojo = new Userpojo();
        userpojo.setUsername("培荣");
        userpojo.setPassword("123123");
        userMapper.insert(userpojo);
        sqlSession.commit();
        sqlSession.close();

    }
}

你可能感兴趣的:(第一个mybatis应用测试)