• Mybatis注解开发


    注解开发

    import com.example.pojo.User;
    import org.apache.ibatis.annotations.Select;
    
    
    public interface UserDao {
    
        @Select("select * from mybatis.user where id = #{id}")
        User getUserById(int id);
    }
    

    将原来的dao层的接口加上对应的注解

    <mappers>
            <mapper class="com.example.dao.UserDao" />
        </mappers>
    

    mybatis的配置的xml里面去设置对应得mapper路径

    @Test
    public void getUserById() {
        // 获取sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSessionFactory();
    
        // 获取mapper对象
        UserDao mapper = sqlSession.getMapper(UserDao.class);
    
    
        User user = mapper.getUserById(1);
    
        System.out.println(user);
    
        sqlSession.close();
    }
    

    测试类

    ** 使用注解来映射语句会使代码更加简单,但它存在的局限,如果想完成复杂的功能,还是使用xml来配置 **

    注解完成CRUD

    public interface UserDao {
    
        @Select("select * from mybatis.user where id = #{id}")
        User getUserById(@Param("id") int userId);
    
        @Insert("insert into mybatis.user (`id`, `name`) values (#{id}, #{name})")
        int addUser(User user);
    
        @Update("update mybatis.user set `name` = #{name} where id = #{id}")
        int updateUserById(User user);
    
        @Delete("delete from mybatis.user where id = #{id}")
        int deleteUserById(@Param("id") int userId);
    }
    

    自动提交事务

    在创建工具类的时候实现自动提交事务

    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;
    
    public class MybatisUtils {
    
        private static SqlSessionFactory sqlSessionFactory;
    
        static {
    
            try {
                // 配置文件的路径
                String resource = "mybatis-config.xml";
                InputStream resourceAsStream = Resources.getResourceAsStream(resource);
                sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
        public static SqlSession getSqlSessionFactory() {
            return sqlSessionFactory.openSession(true); // 设置参数为true即可
        }
    }
    
  • 相关阅读:
    关于Windows7
    我家妞妞长大了
    我家乡的美景
    WinCE开发的语言思考
    坐看肖大师的精彩表演
    Windows Embedded Compact 7试用笔记(1)——新变化
    数据库介绍1(体系结构、基本管理)
    数据库介绍(MySQL安装 体系结构、基本管理)
    shell编程基础简述
    数据库介绍1MySQL安装
  • 原文地址:https://www.cnblogs.com/ivy-blogs/p/13674836.html
Copyright © 2020-2023  润新知