1.安装
如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
2.添加依赖
需要添加Log4j、Junit和MySQL驱动的依赖。
可以通过http://search.maven.org 或者 http://mvnrepository.com 来查找依赖坐标。
需要添加的依赖如下:
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
下面是MyBatis的依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2.让MyBatis跑起来
(1)准备数据库
新建mybatis数据库,创建一个t_user表
create table t_user(
Id bigint not null auto_increment,
UserName varchar(50) not null,
Password varchar(20) not null,
primary key(Id)
);
insert into t_user(UserName,Password) values('admin','123456');
insert into t_user(UserName,Password) values('guest','123456');
(2)配置MyBatis
A.需要在src/main/resouces下面创建mybatis-config.xml配置文件。
B.在官方下载的mybatis-3.4.6.zip压缩包中,有我们需要的mybatis核心jar包和mybatis的快速入门的pdf文件
在IDEA中创建mybatis-config.xml模板文件:New->Edit File Templates…
在mybatis的快速入门的pdf文件中,复制如下代码到我们项目中的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>
<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>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml" />
</mappers>
</configuration>
C.对mybatis-config.xml进一步配置(数据库、log4j和类型别名)
<?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>
<settings>
<!-- 指定使用LOG4J输出日志 -->
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<!-- 配置包的别名,通常在使用类时需要使用类的全限定名称,使用该配置后只要直接使用类名即可 -->
<package name="com.etc.model"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 在src/main/resources目录下创建com/etc/mapper目录,也可以更进一步按照模块来创建com/etc/模块名/mapper目录 -->
<mapper resource="com/etc/mapper/UserMapper.xml" />
</mappers>
</configuration>
D.创建实体类
public class User {
private Long id;
private String userName;
private String password;
…省略getter和setter方法
}
E.创建UserMapper.xml文件
注意:在src/main/resources下创建com/etc/mapper目录,也可以更进一步按照模块来创建com/etc/模块名/mapper目录。
在com/etc/mapper目录下创建UserMapper.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.etc.mapper.UserMapper">
<select id="selectAll" resultType="User">
select Id,UserName,Password from t_user
</select>
</mapper>
(3)配置Log4j查看MyBatis操作数据库的过程
在src/main/resources中添加log4j.properties配置文件,内容如下:
#全局配置
log4j.rootLogger=ERROR,stdout
#MyBatis日志配置
log4j.logger.com.etc.mapper=TRACE
#控制台输出配置
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
(4)编写测试代码让MyBatis跑起来
package com.etc.mapper;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
import org.junit.Test;
import com.etc.model.User;
public class UserMapperTest {
private static SqlSessionFactory sqlSessionFactory;
@BeforeClass
public static void init(){
try {
String resource = "mybatis-config.xml";
InputStream is = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testSelectAll(){
try(SqlSession sqlSession = sqlSessionFactory.openSession()){
List<User> list = sqlSession.selectList("selectAll");
for (User user : list) {
System.out.println(user.getUserName() + " " + user.getPassword());
}
}
}
}
点击运行项目