zoukankan      html  css  js  c++  java
  • Mybatis详细配置过程

    Mybatis详细配置过程

    1.

    mybatis 是一个 基于java 的持久层框架。。内部封装了jdbc ,使开发者 只需 关注SQL语句本身,而不用花精力去处理诸如注册驱动。创建connection 配置Statement等繁杂过程。

    Mybatis 拖过xml 或注解的方式 将要执行的各种statement 配置起来。 并通过java对象和statement中的SQL的动态参数进行映射最终生成sql语句。最终由mybatis框架执行SQL 并将结果映射成java对象并返回。。。

    2.

    下载数据库驱动jar 包。以及mybatisjar包这里通过 maven去管理jar包。 我们只需要添加约束就好。。

        <!-- ********mybatis********* -->

        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->

       <dependency>

          <groupId>org.mybatis</groupId>

          <artifactId>mybatis</artifactId>

          <version>3.4.5</version>

        </dependency>

        <!-- ********mybatis********* -->

        <!-- ********mysql驱动包********* -->

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->

        <dependency>

          <groupId>mysql</groupId>

          <artifactId>mysql-connector-java</artifactId>

         <version>6.0.6</version>

        </dependency>

        <!-- ********mysql驱动包********* -->

    3.添加配置文件

    <?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" />

     <!-- 配置mybatis运行环境 -->

      <environments default="development">

      <!-- 配置开发环境 -->

        <environment id="development">

        <!-- jdbc事务管理器 -->

          <transactionManager type="JDBC"/>

          <!-- 数据源

           UNPOOLED 不适用连接池 即 每次请求都会为其创建一个DB连接,适用完毕后,会马上将连接关闭

           POOLED 数据库连接池来维护连接

           JNDI 数据源可以定义到应用的外部,通过JDNI容器来获取数据库连接

           -->

          <dataSource type="POOLED">

            <property name="driver" value="${jdbc.driverClass}"/>

            <property name="url" value="${jdbc.url}"/>

            <property name="username" value="${jdbc.username}"/>

            <property name="password" value="${jdbc.password}"/>

          </dataSource>

        </environment>

        <!-- 可以多个环境切换。配置上线环境 -->

        <environment id="online">

          <transactionManager type="JDBC"/>

          <dataSource type="POOLED">

            <property name="driver" value="${jdbc.driverClass}"/>

            <property name="url" value="${jdbc.url}"/>

            <property name="username" value="${jdbc.username}"/>

            <property name="password" value="${jdbc.password}"/>

          </dataSource>

        </environment>

      </environments>

      <!-- 映射器 -->

      <mappers>

      <!-- 注册映射文件 -->

        <mapper resource="mapper.xml"/>

        <mapper resource="mapper2.xml"/>

      </mappers>

    </configuration>

    4.添加映射文件

    <?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="reyco">

      <insert id="insertStu" >

        insert into student(id,name,score,hobby)

        values(#{id},#{name},#{score},#{hobby})

        <selectKey resultType="int" keyProperty="id" order="AFTER">

          select last_insert_id();

        </selectKey>

      </insert>

      <delete id="deleteStu" >

       delete from student where id = #{id}

      </delete>

      <update id="updateStu">

         update student set

         name = #{name}, score = #{score},hobby= #{hobby}

         where id = #{id}

      </update>

       <select id="selectStu" resultType="com.evecom.common.Student">

         select * from student

       </select>

       <select id="selectStuById" resultType="com.evecom.common.Student" >

         select * from student where id = #{id}

       </select>

       <select id="selectStuSlur" resultType="com.evecom.common.Student">

         select * from student where name like '%' #{name} '%'

       </select>

    </mapper>

    5.添加属性文件properties。 这个文件主要是可以让我们可以快速地修改数据库用户名,密码,切换数据源等。

    这样,基本上就配置成功了。。感觉比spring 配置简单多了。。。

  • 相关阅读:
    缓存算法之LRU与LFU
    银行家算法
    死锁,死锁的四个必要条件以及处理策略
    找出无序数组中位数的方法
    HTTP状态码
    进程调度算法
    宽字节wchar_t和窄字节char的相互转换
    胜天半子
    ? 题目 一道超难的奥数题,猜生日. A告诉B他生日的月份,告诉C他生日的日期 B说:“如果我不知道A的生日,那C肯定也不知道." C说:”本来我不知道,现在我知道了.“ B说:”哦,那我也知道了.
    有对夫妇生有一男一女,一天晚上,成员中的一个杀了另一个,剩下2个成员,1个是帮凶1个是目击者
  • 原文地址:https://www.cnblogs.com/chenglaoshi/p/10960964.html
Copyright © 2011-2022 走看看