首页 > 其他 > 详细

mybatis 注解CRUD

时间:2021-09-05 23:21:58      阅读:7      评论:0      收藏:0      [点我收藏+]

说个小技巧,增删改都是要提交事务,所以要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中设定的属性名

 

下面的增删改 直接写了 那些映射文件自己配即可【??上面已给出】

package com.bihu.Dao;


import com.bihu.Bean.User;
import org.apache.ibatis.annotations.*;

import java.util.Date;
import java.util.List;

public interface UserMapper {

      //按ID查询
      @Select("select * from user where id = #{id}")
      List<User> findId(@Param("id") int id);

      //增加用户(按参数)
      @Insert("insert into user value(#{id},#{username},#{password},#{birthday})")
      int insertUserP(@Param("id") int id,@Param("username") String username,@Param("password") String password,@Param("birthday") Date birthday);

      //增加用户(按User对象 注意键值要对应哦)
      @Insert("insert into user value(#{id},#{username},#{password},#{birthday})")
      int insertUser(User user);

      //按id 删除用户
      @Delete("delete from user where id = #{id}")
      int deleteUserP(@Param("id") int id);

      //更改 按User对象(直接根据ID改参数)
      @Update("update user set username=#{username},password=#{password},birthday=#{birthday} where id = #{id}")
      int updateUser(User user);

}

 

映射文件配置好 直接可以用的  

注解也是只能用来简单的语句 如果是复杂的 那么你就得要用XML才行哦、

 

mybatis 注解CRUD

原文:https://www.cnblogs.com/bi-hu/p/15229100.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!