文章目录
基本环境
Maven 3.6.1
MySQL 5.7.19
Mybatis 3.5.7
idea 2020.3.1
第一步 引入依赖
<dependencies>
<!-- 1.Mybatis核心 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- junit测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 2.MySQL驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.3</version>
</dependency>
<!-- 3.log4j日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 4.分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
第二步 在resources目录下创建mybatis的核心配置文件 mybatis-config.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>
<!--1.引入properties配置文件,此后可使用 方式获取value -->
<properties resource="jdbc.properties"/>
<!-- 2.全局配置 -->
<settings>
<!-- 将下划线映射为驼峰 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 开启延迟加载 -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- 按需加载 默认值就为false,写出来明确-->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
<!-- 3.由于全类名非常的长,通过typeAliases可以为类配置简短的别名 -->
<typeAliases>
<package name="com.cqy.mybatis.pojo"/>
</typeAliases>
<!-- 4.分页插件相关配置 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"/>
</plugins>
<!-- 5.设置连接数据库的环境-->
<environments default="development">
<!--
environment : 设置一个具体的连接数据库的环境
-->
<environment id="development">
<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>
<!-- 6.引入映射文件-->
<mappers>
<package name="com.cqy.mybatis.mapper"/>
</mappers>
</configuration>
第三步 在resources下创建jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/数据库名
jdbc.username=root
jdbc.password=密码
第四步 创建log4j的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" />
</layout>
</appender>
<logger name="java.sql">
<level value="debug" />
</logger>
<logger name="org.apache.ibatis">
<level value="info" />
</logger>
<root>
<level value="debug" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
第五步 创建mapper接口和映射文件
接口和映射文件必须位于同一目录下
通俗讲,在idea中
- 接口位于src/main/java 目录下
- 映射文件位于src/main/resources目录下
需要在这两个目录下,创建相同的目录存放接口与映射文件
注意!!:resources目录下创建目录时,需要使用 / 分隔,而非 . 号
在编译后生成的target目录中mapper接口与映射文件会在同一目录下
创建mapper接口
public interface UserMapper {
//查询所有用户信息
List<User> queryAllUser();
}
映射文件格式
<?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.cqy.mybatis.mapper.UserMapper">
<!-- 查询所有 -->
<select id="queryAllUser" resultType="user">
select * from t_user;
</select>
</mapper>