官网下载Mybatis框架
https://mybatis.org/mybatis-3/zh/getting-started.html
编写MyBatis核心配置文件
<?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>
<!--2.配置MyBatis框架的运行环境-->
<environments default="development">
<environment id="development">
<!--配置事务管理器,采用JDBC事务,由应用自行管理事务-->
<transactionManager type="JDBC"/>
<!--配置数据源,POOLED:MyBatis提供的数据源,JNDI:JNDI数据源-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/conveniencestoresanagementsystem?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
<mappers>
<mapper resource="com/mapper/SysUSerMapper.xml"/>
</mappers>
</configuration>
编写MyBatis工具类
package com.util;
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 java.io.IOException;
import java.io.InputStream;
public class MyBatisUtil {
//核心配置文件路径
private static String CONFIG_FILE = "mybatis-config.xml";
//SqlSession工厂
private static SqlSessionFactory factory;
//加载核心配置文件路径并初始化SqlSession工厂
static {
try {
InputStream stream = Resources.getResourceAsStream(CONFIG_FILE);
factory = new SqlSessionFactoryBuilder().build(stream);
} catch (IOException e) {
e.printStackTrace();
}
}
//根据SqlSession工厂获取SqlSession对象
public static SqlSession getSqlSession(){
return factory.openSession();
}
//关闭SqlSession链接
public static void close(SqlSession sqlSession){
if (sqlSession!=null){
sqlSession.close();
}
}
}
编写dao接口
package com.dao;
public interface SysUserDao {
//查询用户数量
public int count();
}
编写mapper映射文件
<?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">
<!--
namespace:表示抽象类地址
select:表示查询
id:表示抽象类方法名称
resultType:表示返回值类型
-->
<mapper namespace="com.dao.SysUserDao">
<select id="count" resultType="int">
select count(*) from `t_sys_user`
</select>
</mapper>
编写测试类
package com.dao;
import com.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;
import java.util.List;
class SysUserDaoTest {
@Test
void count() {
//获取SqlSession链接
SqlSession sqlSession = MyBatisUtil.getSqlSession();
//同过SqlSession映射SysUserDao
SysUserDao mapper = sqlSession.getMapper(SysUserDao.class);
//执行SysUserDao并返回结果
System.out.println("mapper.count() = " + mapper.count());
//关闭链接
sqlSession.close();
}
}
返回结果