1、创建mybatis核心配置文件(mybatis-config.xml)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 引入database.properties文件--> <!-- <properties resource="database.properties"/>-->
<environments default="development">
<environment id="development">
<!-- 配置事务管理:JDBC -->
<transactionManager type="JDBC"/>
<!-- POOLED:mybatis自带的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"/>
<!-- useUnicode=true&characterEncoding=utf8&useSSL=false&-->
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<!-- 将mapper文件加入配置文件中-->
<mappers>
<mapper resource="dao/TeacherMapper.xml"/>
</mappers>
</configuration>
::解释
4. environments元素
MyBatis可以配置多套运行环境,如开发环境、测试环境、生产环境等,我们可以灵活选择不同的配置,从而将SQL映射应用到不同的数据库环境上。
这些不同的运行环境,就可以通过environments元素来配置,但是不管增加几套运行环境,都必须要明确选择出当前的唯一一个运行环境。
这是因为每个数据库都是对应一个SqlSessionFactory实例的,需要指明哪个运行环境奖杯创建,并把运行环境中设置的参数传递给SqlSessionFactoryBuilder。
<configuration>
<!-- 引入database.properties文件--> <!-- <properties resource="database.properties"/>-->
<environments default="development">
<environment id="development">
<!-- 配置事务管理:JDBC -->
<transactionManager type="JDBC"/>
<!-- POOLED:mybatis自带的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC"/>
<!-- useUnicode=true&characterEncoding=utf8&useSSL=false&-->
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
5. mappers元素
(1)使用类资源路径获取资源:
<!-- 将mapper文件加入到配置文件中 -->
<mappers>
<mapper resource="com/smbms/dao/provider/ProviderMapper.xml"/>
<mapper resource="com/smbms/dao/user/UserMapper.xml"/>
</mappers>
SSM框架开发应用(六)——MyBatis-核心配置文件_ssm框架中核心文件配置_Undergoer_TW的博客-CSDN博客
2、创建持久化类(POJO)【也就是,实体类】
package pojo;
public class Teacher {
private int TNO;
private String TNAME;
private String TITLES;
private String PHONE;
//省略set、get、tostring方法
}
3、创建sql映射文件【也就是,实体のmapper.xml】
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="A">
<!-- dao.TeacherMapper-->
<select id="a" resultType="pojo.Teacher">
select * from teacher where TNO='121002'
</select>
<select id="b" resultType="pojo.Teacher">
select * from teacher;
</select>
<select id="c" resultType="pojo.Teacher">
select * from teacher where TNAME like '周%'
</select>
</mapper>
4、创建测试类test
package JUnit4;
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 pojo.Teacher;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class TeacherMapperTest {
public static void main(String args[]) {
// 1、读取全局配置文件mybatis-config.xml
String resource= "mybatis-config.xml";
// is--获取mybatis-config.xml文件的输入流
InputStream is=null;
try {
is = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
// 2、SqlSessionFactory对象--完成对配置文件读取
SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);
// 3、SqlSession对象--作用:调用mapper文件(前提:将mapper文件加入配置文件中)-->
SqlSession sqlSession=factory.openSession();
// (1)查询tno=“121002”的客户的记录;
List<Teacher> teacher=sqlSession.selectList("A.a");
System.out.println("查询tno=“121002”的客户的记录:\n"+teacher.toString()+"\n");
// (2)查询全部教师记录;
List<Teacher> teachers=sqlSession.selectList("A.b");
System.out.println("查询全部教师记录:");
for (int i = 0; i < teachers.size(); i++) {
System.out.println(teachers.get(i).toString());
}
System.out.println("");
// (3)查询姓周的教师记录;
List<Teacher> zhou_teachers=sqlSession.selectList("A.c");
System.out.println("查询姓周的教师记录:");
for (int i = 0; i < zhou_teachers.size(); i++) {
System.out.println(zhou_teachers.get(i).toString());
}
}
}
在测试类中,为调用sqlSession读取sql语句的结果。
要做好1、2、3步骤。