mybatis入门--配置

1.导入jar包

 mybatis-x.x.x.jar 导入到lib目录下,

如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:

1 <dependency>
2           <groupId>org.mybatis</groupId>
3           <artifactId>mybatis</artifactId>
4           <version>3.4.6</version><!--版本号 -->
5       </dependency>
6   </dependencies>

2. XML 构建 SqlSessionFactory

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出 SqlSessionFactory 的实例。

从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。但是也可以使用任意的输入流(InputStream)实例,包括字符串形式的文件路径或者 file:// 的 URL 形式的文件路径来配置。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,可使从 classpath 或其他位置加载资源文件更加容易。

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>
    <!--先加载内部标签   再起加载外部的标签   名称不一致 会替换掉    -->
    <properties resource="jdbc.properties">
        <property name="jdbc.username" value="root"/>
        <property name="jdbc.password" value="root"/>
    </properties>
    
    <!--单个别名配置        -->
    <typeAliases>
    <!--
        type:  全路径名
        alias:自定义的别名 (别名不区分大小写)
      -->
        <!-- <typeAlias type="cn.tz.pojo.User" alias="user"/> -->
        
        
        <!-- 包扫描的配置
            name:这个是你要扫描的包       
            别名:就是类的名称   不区分大小写
         -->
        <package name="cn.tz.pojo"/>
    </typeAliases>
    
    <!--跟spring整合的时候是会废除的  -->
    <environments default="test">
        <environment id="test">
        <!--使用的是jdbc的事物管理  -->
            <transactionManager type="JDBC"/>
            <!-- 配置连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 加载配置文件 -->
    <mappers>
    <!-- 扫描 -->
        <package name="cn.xxx.dao"/>
    </mappers>
</configuration>

测试代码

@Test
    public void test1() throws IOException{
        //编写sql语句
        //配置user映射文件
        //编写测试程序
        //写代码
        //加载配置文件
        //第一步   创建SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        //第二部    加载核心配置文件
        InputStream inputStream = Resources.getResourceAsStream("config/SqlMapConfig.xml");
        //第三部      创建SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        //第四部   SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //第五步  得到user对象
        User user = sqlSession.selectOne("getUserById", 1);
        // 第六步  打印
        System.out.println(user);
        //第七部    关闭资源
        sqlSession.close();
    }

 3.mapper映射的 SQL 语句

<?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">
<!--namespace 命名空间    用于隔离sql语句     -->
<mapper namespace="user">
<!-- id   语句的唯一表示
    parameterType  入参的类型
    resultType    返回结果的数据类型
    #{}       相当于jdbc的?号
       -->
    <select id="getUserById" parameterType="int" resultType="cn.xxx.pojo.User" >
        select
            `id`,
            `username`,
            `birthday`,
            `sex`,
            `address`
        from `user`
        where id =#{id}
    </select>

 

posted @ 2019-03-01 11:32  AlexZS  Views(122)  Comments(0Edit  收藏  举报