文章目录
第一步:导入依赖
pom.xml文件依赖
<dependencies>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<!--jdbc依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<!--测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 实现slf4j接口并整合 -->
<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>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.10.0</version>
</dependency>
</dependencies>
第二步:配置xml文件。
1). 配置JDBC连接db.properties文件
//Mysql8.x以上版本加.cj
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatisdb?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
jdbc.username=root
jdbc.password=root
2). 配置Mybatis连接SqlMapConfig.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>
<!--配置properties-->
<properties resource="db.properties"></properties>
<!--配置别名-->
<!-- <typeAliases>
<package name="com.per.domain"></package>
</typeAliases>
-->
<!--主要配置,配置环境-->
<environments default="mysql">
<!--配置Mysql环境-->
<environment id="mysql">
<!--配置事务-->
<transactionManager type="JDBC"></transactionManager>
<!--配置连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</dataSource>
</environment>
</environments>
<!--配置映射文件的位置(使用注解的配置)-->
<mappers>
<package name="com.per.dao"></package>
</mappers>
</configuration>
第三步:创建项目目录。
1).创建持久(dao)层和实体类(domain)。
实体类:
package com.per.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
public class User implements Serializable {
private String id;
private String username;
private String address;
private String sex;
private Date birthday;
.....省略setter,getter,tostring
持久层
package com.per.dao;
import com.per.domain.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface UserDao {
@Select("select * from user")//使用注解方式开发
List<User> finAll();
}
第四步:编写测试文件
1.测试类
import com.per.dao.UserDao;
import com.per.domain.User;
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.After;
import org.junit.Before;
import org.junit.Test;
import java.io.InputStream;
import java.util.List;
public class ClassTest {
private InputStream in;
private SqlSessionFactory factory;
private SqlSession sqlSession;
private UserDao iUserDao;
// 加上@Before,该方法在测试方法执行之前执行。
@Before
public void init() throws Exception {
in = Resources.getResourceAsStream("SqlMapConfig.xml");
factory = new SqlSessionFactoryBuilder().build(in);
sqlSession = factory.openSession();
iUserDao = sqlSession.getMapper(UserDao.class);
}
// 加上@After,该方法在测试方法执行之后执行。
@After
public void destory() throws Exception {
sqlSession.commit();
sqlSession.close();
in.close();
}
@Test
public void findAll(){
List<User> userList = iUserDao.finAll();
for(User user:userList)
{
System.out.println(user);
}
}
}
到此Mybatis使用注解开发的一个小小的模板就有了。