# MyBatis 环境配置

## IDEA中运行 MyBatis 框架

### 新建工程

File -> new project -> Maven -> 选择JDK1.8， 不使用审核模板 -> Next > 输入包名 GroupId: indi.chester,  ArtifactId: mybatis   -> Next -> 输入自己喜欢的Project Name: MyBatis, 选择自己喜欢的路径 -> Finish.

### 修改 pom.xml &#x20;

在 pom.xml 中我们需要做以下修改：

* 添加 mybatis 依赖
* 添加 mysql 依赖
* 添加 junit 依赖
* 添加 mybatis logback 日志 依赖
* 修改仓库源为阿里云镜像

修改后的 pom.xml 长这样:&#x20;

```xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>indi.chester</groupId>
    <artifactId>MyBatis</artifactId>
    <version>1.0-SNAPSHOT</version>

<!--    &lt;!&ndash;假设maven安装文件夹下的config下的settings.xml 没有改远程仓库&ndash;&gt;-->
    <repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>

    <dependencies>
        <!-- 增加 mybatis 依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>

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

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

        <!-- MyBatis 日志-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>

    </dependencies>


</project>
```

### 新建 MySQL 数据库连接

我们可以选择在Navicat 中新建连接，也可以直接在IDEA 中新建连接。

点击 IDEA 右上方的 Database图标 -> 弹出一个Database 工具窗，点击左上角的加号 -> Data Source -> MySQL -> 弹出 Data Sources and Drivers 窗口， Name: Localhost, Host: localhost, Port: 3306, User: root, Password: 123456，随后下方的 URL 会自动更新。 如果 Driver 下方出现 Download MySQL Driver 字样 则需要点击 Download 下载。随后点击 Test Connection, 若旁边显示 Successful, 则说明连接成功。最后点击OK。

### 导入数据表

左键 Database 窗口下的 Localhost -> 右键 schemas  -> Run SQL Script -> 选择 [babytun.sql 文件](https://github.com/chesterzhang/intro_Java/tree/zhc_dev/resources) -> OK。随后数据表就会被导入，可以在 Database 工具窗看到里面有三个表。可以双击直接查看数据表，也可以右键 New -> console 运行 SQL 语句。

### 新建 mybatis-config.xml 文件

在 src/main/resources/ 下新建 mybatis-config.xml 文件对 mybatis 进行配置。

```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>
    <!-- 驼峰命名自动转换, 数据库字段与Java 成员变量之间, 下划线与驼峰分隔-->
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <!-- 默认选择开发环境 -->
    <environments default="dev">
        <!-- 配置不同的数据库链接环境-->
        <environment id="dev">
            <!-- 采用JDBC方式对数据库事务进行commit/rollback -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 采用连接池方式管理数据库连接 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
<!--                <property name="url" value="jdbc:mysql://localhost:3306/jdbc?useSSL=false&amp;-->
<!--                useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai&amp;-->
<!--                allowPublicKeyRetrieval=truenull"/>-->
                <property name="url" value="jdbc:mysql://localhost:3306/babytun?useSSL=false&amp;
                useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai&amp;
                allowPublicKeyRetrieval=truenull"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>

        <!-- 线上生产环境 -->
        <environment id="prd">
            <!-- 采用JDBC方式对数据库事务进行commit/rollback -->
            <transactionManager type="JDBC"></transactionManager>
            <!--采用连接池方式管理数据库连接-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!-- 瞎写一个链接 -->
                <property name="url" value="jdbc:mysql://192.168.1.188:3306/babytun?useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

     

</configuration>
```
