Mybatis 基本使用介绍

痞子三分冷 提交于 2020-03-06 19:52:05

环境搭建

需要的pom依赖

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.36</version>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.2.2</version>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.8</version>
    </dependency>

需要的配置文件

了解过Mybatis的知道它的常用配置文件有2个。

  1. mybatis-config.xml
  • 配置数据源
  • 配置别名
  • 加载mapper.xml
  1. mapper.xml
  • 存放sql语句

mybatis-config.xml

<!-- mybatis-config.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 和spring整合后 environments配置将废除 -->
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理 -->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url"
                          value="jdbc:mysql://localhost:3306/test?characterEncoding=utf8"/>
                <property name="username" value="username" />
                <property name="password" value="password" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载mapper.xml -->
     <mappers>
         <!-- <package name=""> -->
         <!-- 这种方式是将xml中的语句解析成MappedStatement并封装到Configuration -->
         <mapper resource="mapper/DemoMapper.xml"  ></mapper>
         
         <!-- 这种方式是将对应接口方法上面对应的注解(如:@Select())语句解析成MappedStatement并封装到Configuration -->
         <mapper class="com.mapper.DemoMapper"  ></mapper>
     </mappers>
</configuration>

mapper.xml 对应上面第一种添加mapper的方式

<?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.wcblog.mybatis.mapper.DemoMapper">
    <select  id="queryTest"   parameterType="Map" resultType="Map">
        select * from test WHERE id =#{id}
    </select>

</mapper>

mapper接口 对应上面第二种添加mapper的方式

public interface DemoMapper {

    @Select("select * from test WHERE id =#{id}")
    public Map queryTest(Map<String,Object> map);
}

测试mybatis可否使用的测试代码

public class Test {

    public static void main(String[] args) throws Exception {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        //创建SqlSessionFacory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        /******************************分割线******************************/
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获取Mapper
        DemoMapper mapper = sqlSession.getMapper(DemoMapper.class);

        Map<String,Object> map = new HashMap<String, Object>();
        map.put("id","123");
        System.out.println(mapper.queryTest(map));
        sqlSession.commit();
        sqlSession.close();
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!