设为首页 加入收藏

TOP

MyBatis--快速入门(二)
2023-08-26 21:11:13 】 浏览:48
Tags:MyBatis--
l://localhost:3306/jdbcstudy"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- 加载映射文件--> <mappers> <mapper resource="com/xxx/mapper/UserMapper.xml"/> </mappers> </configuration>
  • 编写测试类

    在test目录下创建一个测试类

  • package com.xxx;
    
    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 org.apache.log4j.lf5.util.Resource;
    import org.junit.Test;
    
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    public class test {
        @Test
        public  void  test1() throws IOException {
    //        获取配置文件Resources是ibatis包下的
            InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
    //        获得session工厂对象
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
    //        获得session会话对象
            SqlSession sqlSession = sqlSessionFactory.openSession();
    //        执行操作,userMapper是映射文件中的一个命名空间,findAll是该命名空间下的一个id
            List<User> userList = sqlSession.selectList("userMapper.findAll");
    //        打印数据
            System.out.println(userList);
    //        释放资源
            sqlSession.close();
        }
    }
    

    结果:

    映射文件概述

    MyBatis增删改查

    insert操作

    映射文件中:

    <!--    插入 parameterTyp是传入参数-->
        <insert id="save" parameterType="com.xxx.User">
    --         参数是com.xxx.User的属性名
            insert  into user values (#{id},#{username},#{password})
        </insert>
    

    测试:

    //        模拟user对象
            User user = new User();
            user.setId(5);
            user.setPassword("123456");
            user.setUsername("lili");
    //        获取配置文件Resources是ibatis包下的
            InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
    //        获得session工厂对象
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
    //        获得session会话对象
            SqlSession sqlSession = sqlSessionFactory.openSession();
    //        执行操作,userMapper是映射文件中的一个命名空间,findAll是该命名空间下的一个id
            sqlSession.insert("userMapper.save",user);
    //      MyBatis更新时需要手动提交事务,在sqlSessionFactory.openSession()设置参数为true会自动提交
    		sqlSession.commit();
    //        释放资源
            sqlSession.close();
    

    相关注意:

    update操作

    <update id="update" parameterType="com.xxx.User">
        update user  set  username=#{username},password=#{password} where id=#{id}
    </update>
    

    测试和insert同理,只需要修改

     sqlSession.update("userMapper.update",user);
    

    delete操作

    <delete id="delete"  parameterType="java.lang.Integer">
        delete from user where  id=#{id}
    </delete>
    

    测试和insert同理,只需要修改

    sqlSession.delete("userMapper.delete",7);
    

    MyBatis核心配置文件

    environments标签介绍

    事务管理器和数据源类型:

    mappers标签

    使用mapper加载映射时,加载方式有:

    Properties标签

    实际开发中,习惯将数据源的配置信息单独抽取为一个properties文件,改标签可以加载额外配置的properties文件

    typeAliases标签

    MyBatis的相应API

    sqlSession工厂构造器sqlSessionFactoryBuilder

    sqlSessionFactory

    sqlSession

    首页 上一页 1 2 下一页 尾页 2/2/2
    】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
    上一篇java_3种注释语句 下一篇《深入理解Java虚拟机》读书笔记..

    最新文章

    热门文章

    Hot 文章

    Python

    C 语言

    C++基础

    大数据基础

    linux编程基础

    C/C++面试题目