zoukankan      html  css  js  c++  java
  • Mybatis环境配置学习

    Mybatis的使用环境配置步骤主要分为以下三步

    1.导入jar包

    2.创建mybatis的全局配置文件,并编写

    3.创建mapper的配置文件

    一。导入jar包 --- (踩坑:这一步中的导入mysql驱动包总是忘记)

    (1)需要导入 mybatis的jar包

    (2)需要导入 mybatis的依赖包(即一些辅助包)

    (3)需要导入 相应数据库的驱动jar包  --- 这里我导入的是 mysql-connector-8.0的jar包

    二。mybatis的全局配置文件

      首先,在新建的Java Web项目的 src 源文件下 新建一个 mybatis.xml (文件名和文件位置并没有硬性要求,但是这样操作更合理更方便)

      在进行mybatis.xml编写时,需要先引入 DTD,如下所示。其中具体的导入方式可以在 Mybatis的帮助文档的入门里查到

    1 <!DOCTYPE configuration
    2   PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    3   "http://mybatis.org/dtd/mybatis-3-config.dtd">

      执行完上述操作之后,需要开始mybatis.xml的具体内容配置

      标签书写顺序依次为   <configuration>标签  ---------   <environments>标签  ------   <environment>标签  ------    <transactionManager>标签 和 <dataSource>标签  -----  <dataSource>标签内容写入  4 <property />单标签

    具体内容如下所示

    <?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>
        <environments default="default">
            <environment id="default">
                <transactionManager type="JDBC">
                </transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/ssm?characterEncoding=UTF-8&amp;serverTimezone=UTC&amp;useSSL=false" />
                    <property name="username" value="" />
                    <property name="password" value=""/>
                </dataSource>
            </environment>
        </environments>
        <!-- mapper.xml配置好之后,在mybatis.xml中更新导入其配置文件 -->
        <mappers>
            <!-- xml文件导入的方式 -->
            <mapper resource="com/xl/mapper/PeopleMapper.xml"/>
        </mappers>
    </configuration>

    具体内容介绍:

    <environments>标签的default属性 主要是根据 <environment> 的id属性 来确定 默认的<environment>标签

    <environment>标签中使用id属性来 区分不同的数据库

    <transactionManager>标签的type属性 JDBC --- 事务管理使用原生的JDBC事务管理   

                       MANAGED --- 将事务管理转交给其他容器(主要用于Spring框架等) --- 此时JDBC事务为 setAutoMapping(false);

    <dataSource>标签的 type属性  POOLED--使用数据库连接池  

                    UNPOOLED---不使用数据库连接池---类似直接使用JDBC  

                    JNDI---Java命名接口技术

    <property />单标签 是用来存储进入相应数据库的信息参数的  name放置参数名  value放置相应的参数值

      需要存储4个参数  driver,url,username,password   ----  名字不能有任何变化,必须一一对应,否则无法进入数据库

      我使用的mysql数据库比较新,参数与旧版的驱动包有区别 ,(1)driver = “com.mysql.cj.jdbc.Driver”   ---  踩坑 -- 最后的Driver的D要大写

                                   (2) url = "jdbc:mysql://localhost:3306/数据库名?相应的一些参数" ---- ?后面跟的参数与JDBC中使用的稍有区别:& 需要使用 &amp; 来表示(XML文件特性?)

    三。实体类的相应mapper的配置

    首先mapper的命名要规范 :我这里使用的是新建 相应的mapper包专门存储mapper.xml,并且命名为 实体类名+Mapper.xml

    mapper.xml文件主要是用来 执行SQL语句的

      首先同样要引入相应 DTD文件,方法操作同上,只不过这回要找的是mapper对应的DTD引入语句和文件

      其次,需在mapper.xml文件中依次写入

        <mapper>标签 ----  sql操作语句标签(如 <select>标签用来查询操作),我的mapper.xml文件配置如下

    <?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.xl.mapper.PeopleMapper">
        <!-- 第一种选择 选择list -->
        <!-- 注意*************** 这里的resultType值 如果是 实体类 一定要写            绝对路径 -->
        <select id="selAll" resultType="com.xl.pojo.People">
            select * from people
        </select>
        <!-- int是Integer的映射,但是这里会自动拆箱和装箱   _int是int类型的映射 -->
        <select id="selOne" resultType="int">
            select Count(*) from people
        </select>
        <select id="selMap" resultType="com.xl.pojo.People">
            select * from people
        </select>
    </mapper>

    其中值得注意的是mapper标签的 namespace属性,他是用来定位的,并没有具体的命名要求,但是之后寻找mapper.xml文件进行操作是需要 使用   namespace+id的路径组合

    select标签的 id属性 也是用来定位的,一般是写入方法名

          resultType属性用来定义此次操作返回的数据类型 --- 其中创建的实体类需要写入绝对路径,java自带数据类型需要写入相应的映射 --- 这里会提供自动强转

          paramType属性用来定义此次操作需要传入的参数类型

    mybatis中查询操作总共有三种:selectList("namespace+id");selectOne("namespace+id");selectMap("namespace+id","表中的某一个字段名")

    最后的最后,最重要的一点:在配置完mapper.xml后,需要在 mybatis.xml文件下的 configuration标签下的mappers标签中 添加  mapper单标签;并在其中的 resource属性中给出引入的mapper.xml的绝对路径

  • 相关阅读:
    【mysql5.6】数据类型
    【leetcode】Multiply Strings(middle)
    创建JDBC模板简化代码、JDBC应用的事务管理以及连接池的作用
    IE8.0登录Oracle EBS后报Oracle error 1403错
    三联动 支持ie6,ie7 省,市,区
    任正非最新訪谈: 假设企业收留这类人, 距离死亡就不远了
    向量空间模型实现文档查询(Vector Space Model to realize document query)
    前端开发的经验
    《大话操作系统——做坚实的project实践派》(7)
    【整理】nand相关
  • 原文地址:https://www.cnblogs.com/xiang9286/p/10427705.html
Copyright © 2011-2022 走看看