MyBatis简单配置
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 configurationPUBLIC "-//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 mapperPUBLIC "-//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 {@Testpublic void TestSelectAll() throws IOException {//1、获取SqlSessionFactorySqlSessionFactory sqlSessionFactory = MybatisUtils.getSqlSessionFactory();//2、获取SqlSessionSqlSession 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();}
}