1、在Maven的pom.xml中导入Mybatis和MySQL数据库驱动依赖
<dependencies>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>
2、在Maven项目中的resources下创建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>
<!--扫描实体类包,则AdminMapper.xml的resultType中可直接填写实体类名(不区分大小写)-->
<typeAliases>
<package name="com.tyh.pojo"/>
</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/testjavaweb?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--加载sql映射文件-->
<!--<mapper resource="com/tyh/mapper/AdminMapper.xml"/>-->
<!--代理简化方式 扫描包-->
<package name="com.tyh.mapper"/>
</mappers>
</configuration>
3、在com.tyh.utils下创建MybatisUtils.java工具类
package com.tyh.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String mybatisConfig = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(mybatisConfig);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static SqlSessionFactory getSqlSessionFactory(){
return sqlSessionFactory;
}
}
4、在com.tyh.pojo中创建Admin.java实体类
5、在Maven:main.java.com.tyh.mapper中创建AdminMapper.java接口,即dao接口
package com.tyh.mapper;
import com.tyh.pojo.Admin;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface AdminMapper {
//查询所有用户
List<Admin> selectAll();
}
6、在Maven:main/resources/com/tyh/mapper中创建AdminMapper.xml配置文件,即daoImpl实现类
<?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.tyh.mapper.AdminMapper">
<select id="selectAll" resultType="com.tyh.pojo.Admin">
select * from admin;
</select>
</mapper>
7、测试:在Maven中test.java.com.tyh.test下创建TestAdminMybatis.java测试类
先导入Test依赖:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
再编写测试代码:
package com.tyh.test;
import com.tyh.mapper.AdminMapper;
import com.tyh.pojo.Admin;
import com.tyh.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;
import java.io.IOException;
import java.util.List;
public class TestAdminMyBatis {
@Test
public void TestSelectAll() throws IOException {
//1、获取SqlSessionFactory
SqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory();
//2、获取SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//3、获取Mapper接口的代理对象
AdminMapper adminMapper = sqlSession.getMapper(AdminMapper.class);
//4、执行方法
List<Admin> list = adminMapper.selectAll();
for (Admin a : list){
System.out.println(a);
}
//5、释放资源
sqlSession.close();
}
}