首页 > 技术文章 > mybatis 注解CRUD

bi-hu 2021-09-05 12:29 原文

说个小技巧,增删改都是要提交事务,所以要commit ,如果不想手动commit 可以在获取Sqlsession对象时,给个true的参数:

 

 


 

 

注解实现查询(指定ID查询)

package com.bihu.Service;

import com.bihu.Bean.User;
import com.bihu.Dao.UserMapper;
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.IOException;
import java.io.InputStream;
import java.util.List;

public class UserService {
    public static void main(String[] args) throws IOException {
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);

        List<User> userList = mapper.findId(99999); //查询User
            //下面打印
        for (User item : userList) {
            System.out.println(item);
        }


    }
}
mybatis 测试类 已设置自动提交事务
package com.bihu.Dao;


import com.bihu.Bean.User;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface UserMapper {

      //基本数据类型(包括String都要加@Param注解 什么什么User、Map 就不用)
      @Select("select * from user where id = #{id}")
      List<User> findId(@Param("id") int id);

      //依然可以查出来 因为内部以 @Parma注解中的id为查询
      /* @Select("select * from user where id = #{id}")
      List<User> findId(@Param("id") int id2);   */

      //报错代码 因为内部以 @Parma注解中的id为查询
      /* @Select("select * from user where id = #{id}")
      List<User> findId(@Param("id2") int id);   */

}
mybatis 映射接口
<?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


<mapper namespace="com.bihu.Dao.UserMapper">
        <!--其实注解开发是通过映射 然后在这里写<select/> 标签的 上面namespace一定要对应接口 -->
</mapper>
mybatis UserMapper映射文件

记得主配置也要映射 这些不多说。【流程不熟悉翻以前文章....】

 

 

 

  • 我们在SQL中引用的就是@Param中设定的属性名

 

下面的增删改 直接写了 那些映射文件自己配即可【

推荐阅读