第一个Mybatis
步骤:
1、工具类需要配置文件,所以需要到resources文件夹中写一个配置文件
<?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>
<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?useSSL=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/nscrl/dao/StudentMapper.xml"/>
</mappers>
</configuration>
2、写工具类
创建一个utils包,在包下创建一个utils工具类:
public class StudentUtils {
private static SqlSessionFactory sqlSessionFactory;
// 获取SQLSessionFactory对象
static {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
// 获取SQLSession的实例对象
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
3、写实体类
创建一个实体类
public class Student {
private int id;
private String name;
private int age;
public Student() {
}
public Student(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}';
}
}
4、写接口
写一个dao接口
public interface StudentDao {
List<Student> getStudentList();
}
5、写接口的实现,XxxMapper.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">
<mapper namespace="com.nscrl.dao.StudentDao">
<select id="getStudentList" resultType="com.nscrl.pojo.Student">
select * from mybatis.student
</select>
</mapper>
6、写test测试类
public class StudentDaoTest {
@Test
public void test(){
// 获取sqlsession对象
SqlSession sqlSession = StudentUtils.getSqlSession();
StudentDao mapper = sqlSession.getMapper(StudentDao.class);
List<Student> studentList = mapper.getStudentList();
for (Student student : studentList) {
System.out.println(student);
}
// 关闭SQLSession
sqlSession.close();
}
}
7、在maven文件中,写入导出失败处理的文件
为了处理可能出现的资源导出失败的问题,需要在pom.xml文件中加入下面配置:
<!-- 在build中配置resources, 来防止资源导出失败的问题 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>