1.编写实体类
@Data
public class Student {
private int id;
private String name;
private int tid;
}
2.编写Mapper接口以及对应的Mapper.xml
public interface StudentMapper {
List<Student> selectStudent();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ssqdx.mapper.UserMapper">
<select id="selectUser" resultType="User">
select * from mybatis.user
</select>
</mapper>
3.编写一个MapperImp类
public class UserMapperImpl implements UserMapper {
//我们所有的操作,都是用sqlsession来执行,在原来,现在都使用SqlSessionTemplate;
private SqlSessionTemplate sqlSession;
public void setSqlSession(SqlSessionTemplate sqlSession){
this.sqlSession=sqlSession;
}
public List<User> selectUser() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.selectUser();
}
}
5.然后是象征性的写一个mybatis-config.xml文件,表示我们用到了他
<?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>
<typeAliases>
<package name="com.ssqdx.pojo"/>
</typeAliases>
</configuration>
6.最最关键一步就是编写spring-dao.xml文件了
SqlSessionTemplate 是 MyBatis-Spring 的核心。作为 SqlSession 的一个实现,这意味着可以使用它无缝代替你代码中已经在使用的 SqlSession。 SqlSessionTemplate 是线程安全的,可以被多个 DAO 或映射器所共享使用。
官网给的话听绕的,我看半天没看出来个所以然
7.最可爱的Test类
public class Mytest {
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring-dao.xml");
StudentMapper studentMapper = context.getBean("studentMapper", StudentMapper.class);
for (Student student : studentMapper.selectStudent()) {
System.out.println(student);
}
}
}
总结:mybatis-spring给我的感觉就是将mybatis的代码整合到spring当中
官网给的介绍是:MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。它将允许 MyBatis 参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。 最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。