根据各位大佬大谆谆教诲,学东西从官网入手最佳:https://mybatis.org/mybatis-3/zh/getting-started.html。
添加depencency
将dependency添加到pom文件
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
reimport一下pom文件
创建数据库表单
1、用navicat连接数据库,然后创建一个teacher表,字段如下:
2、在数据库中插入数据
添加java bean
创建类Teacher,然后添加数据库对应字段,右键Generate 添加set、get和toString方法。
最终代码如下:
package bean;
public class Teacher {
private int id;
private String name;
private char gender;
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setGender(char gender) {
this.gender = gender;
}
public char getGender() {
return gender;
}
@Override
public String toString() {
return "Teacher{" +
"id=" + id +
", name='" + name + '\'' +
", gender=" + gender +
'}';
}
}
添加配置文件
在InterfaceTest/src/main/resources/创建配置文件mybatis-config.xml,从官网复制内容到文件。然后根据自己的数据库连接方式修改配置内容中的driver、url、username和password等信息
添加映射sql
在InterfaceTest/src/main/resources/mapper目录创建eacherMapper.xml文件,从官网复制内容:
根据自己需求修改:
<?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自定义的名称空间 -->
<mapper namespace="com.mybatis.stu">
<!--id:自定义的sql唯一标志-->
<!--resultType:指的是返回值类型,将javabean的全类名拷贝过来(包名.类名的格式)-->
<!--如果数据库字段名和javabean中变量名字不同,需要在sql中使用别名-->
<select id="selectTeacher" resultType="bean.Teacher">
select * from teacher where id = #{id}
</select>
</mapper>
注册映射sql到配置文件中
打开mybatis-config.xml文件,将新添加到mapper文件注册到文件中:
编写查询代码
第一个参数是sql都唯一标志,第二个参数是执行sql需要的参数
唯一标志为mapper文件中到namespace+id
Object O为查询需要的参数
最终代码如下:
import bean.Teacher;
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.testng.annotations.Test;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
public class TestMybatis {
@Test
public void testCase1() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//生成session实例
SqlSession session = sqlSessionFactory.openSession();
try{
//第一个参数sql唯一标志用namespace.id来表示
Teacher teacher = session.selectOne("com.mybatis.stu.selectTeacher",1);
System.out.println(teacher);} finally { session.close(); }
}
}
运行结果中正确输出查询值: