java - mybatis 入门案例

1.创建数据库

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL COMMENT '用户名称',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `sex` char(1) DEFAULT NULL COMMENT '性别',
  `address` varchar(256) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
java - mybatis 入门案例_第1张图片
创建数据库.png

2.创建普通java工程

创建普通java工程.png

3.导包

java - mybatis 入门案例_第2张图片
导包.png

4.建工程结构及 jdbc 、log 配置

java - mybatis 入门案例_第3张图片
工程结构.png
java - mybatis 入门案例_第4张图片
建工程结构及 jdbc 、log 配置.png

5.配置 mybatis ,编写 sqlMapConfig.xml 文件





       // properties:引入外部资源文件
  
  
      // 批量扫描定义别名:表示com.xiaocai.domain包路径下所有类都自动被定义了别名 别名名称:类名,大小写随意 
      
  
  
  
      
          
          
              
              
              
              
          
      
  
  
  // 引入外部映射文件:引入多个映射文件
  
      
  
  

6.编写 domain 类 -- User

java - mybatis 入门案例_第5张图片
编写 domain 类.png

7.编写操作数据库接口类

public interface UserDao {

    // 根据Id查询用户
    public User findUserByID(Integer id);

    // 根据用户名模糊查询
    public List findUserWithLike(String username);

    // 插入数据
    public Integer insertUser(User user);
}

8.建同包名,名字也相同的 dao 对应的xml类




    
    
    
    
    
    
        
            select LAST_INSERT_ID()
        
        insert into user(username,birthday,sex,address)
        values(#{username},#{birthday},#{sex},#{address})
    


java - mybatis 入门案例_第6张图片
同包名文件名.png

9.编写测试类

public class TestDao {

    private SqlSessionFactory sqlSessionFactory;
    private InputStream resourceAsStream;

    @Before
    public void beforeTest() throws IOException {
        String resourceFile = "sqlMapConfig.xml";
        resourceAsStream = Resources.getResourceAsStream(resourceFile);
        sqlSessionFactory = new SqlSessionFactoryBuilder()
                .build(resourceAsStream);
    }
}

10.mybatis 测试

  • 1.插入数据
    @Test
    public void insertUserTest() {
        SqlSession openSession = sqlSessionFactory.openSession();
        UserDao mapper = openSession.getMapper(UserDao.class);
        User user = new User();
        user.setUsername("xiaocai");
        user.setSex("男");

        Integer insertUser = mapper.insertUser(user);
        // 提交
        openSession.commit();
        // 关闭session
        openSession.close();
        System.out.println(insertUser);
    }
java - mybatis 入门案例_第7张图片
测试结果.png
  • 2.查询
    @Test
    public void findByIDTest() {
        SqlSession openSession = sqlSessionFactory.openSession();
        UserDao userDaoMapper = openSession.getMapper(UserDao.class);
        User user = userDaoMapper.findUserByID(30);
        System.out.println(user);
    }

你可能感兴趣的:(java - mybatis 入门案例)