MyBatis 详细介绍

JDBC 连接数据库存在的问题

  1. 硬编码的问题,对数据库的操作不够灵活,比如链接数据名,用户名 ,密码 都已经在在代码中被写死
  2. 经常的连接数据库 打开 关闭 对系统整体资源消耗大 造成浪费
  3. sql语句不够灵活,容易写错,遍历查询结构的时候也很麻烦 没有即使返回对象

MyBatis 介绍 架构设计原理

MyBatis 详细介绍_第1张图片

sqlMapConfig 数据库链接信息 以及连接池的方式 链接的数据库 用户名 密码 等
mapper.xml 数据库中表的映射 ,一张表对应一个mapper.xml , 是对数据库操作的封装
sqlSession 操作数据库一次会话 , 就是操作数据库对象

环境配置

提示 maven 库地址 http://mvnrepository.com/

1. 配置编译JDK 版本

  <build>
    <plugins>
    
          <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-compiler-pluginartifactId>
                <configuration>
                    <source>1.8source>
                    <target>1.8target>
                    <encoding>UTF-8encoding>
                configuration>
            plugin>

    plugins>
build>

2. 添加依赖mysql , mybatis

<dependencies>
    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <version>5.1.38version>
    dependency>

    
    <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>3.2.7version>
    dependency>

3. 日志包依赖

<dependency>
        <groupId>org.bgee.log4jdbc-log4j2groupId>
        <artifactId>log4jdbc-log4j2-jdbc4.1artifactId>
        <version>1.16version>
    dependency>
    <dependency>
        <groupId>org.slf4jgroupId>
        <artifactId>slf4j-apiartifactId>
        <version>1.7.13version>
    dependency>
    <dependency>
        <groupId>org.slf4jgroupId>
        <artifactId>slf4j-log4j12artifactId>
        <version>1.7.5version>
    dependency>

  
    <dependency>
        <groupId>log4jgroupId>
        <artifactId>log4jartifactId>
        <version>1.2.16version>
    dependency>

4. 资源文件配置看下图

MyBatis 详细介绍_第2张图片

传统Dao的开发模式

接口代理的开发Dao

  1. mapper.xml 中的命名空间 必须是 我们接口全限定类名
  2. sql 语句中的id 必须要跟方法名一致
  3. mapper需要跟接口文件名一致 必须在同一个目录下面

注意事项

SqlMapConfig 配置文件其他内容

1. 别名 在SqlMapConfig.xml 中

  
  <typeAliases  type = "com.ruirui.proxy.User" alias="user">typeAliases>

2. 批量 通过包的路径 批量命名别名 不区分大小写

<typeAliases>
        
        
        
        
        <package name="cn.itcast.pojo"/>

    typeAliases>

3. Mappers映射器 扫描包路径下的所有mapper.xml 文件

  
          <mappers>
           
           
          
          
          
           <package name="cn.itcast.mybatis.mapper3"/>
          mappers>

4. 应用外部配置文件 链接数据库

4.1 db.properties

#注意,配置文件中,不要随意打入空格等空字符串
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://192.168.52.250:3306/mybatis?characterEncoding=utf-8
username=root
password=admin

4.2 SqlMapConfig.xml 文件内部 引用 db.properties这个文件 引用${ ..} 这种引用的方式 同时也注意覆盖问题


    <properties resource="db.properties">
        <property name="driver" value="com.mysql.jdbc.Driversss"/>
        <property name="url" value="${url}"/>
        <property name="username" value="root"/>
        <property name="password" value="admin"/>
    properties>

    
      <environments default="development" >
        <environment id="development">
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
            <property name="driver" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
          dataSource>
        environment>
      environments>

你可能感兴趣的:(javaEE)