mybatis和spring整合
第一种方法
1.需要导入的包:
pom.xml:
junit
junit
4.12
test
mysql
mysql-connector-java
8.0.11
org.mybatis
mybatis
3.5.2
org.springframework
spring-webmvc
5.1.9.RELEASE
org.springframework
spring-jdbc
5.3.14
org.aspectj
aspectjweaver
1.9.6
org.mybatis
mybatis-spring
2.0.6
org.projectlombok
lombok
RELEASE
compile
src/main/java
**/*.xml
false
2.回忆Mybatis
- 编写实体类
- 编写核心配置文件
- 编写接口
- 编写Mapper.xml
- 测试
3.Mybatis-Spring
UserMapper接口:
package com.kakafa.mapper;
import com.kakafa.pojo.User;
import java.util.List;
public interface UserMapper {
public List selectUser();
}
UserMapper.xml:
<?xml version="1.0" encoding="UTF-8" ?>
UserMapperImpl:
package com.kakafa.mapper;
import com.kakafa.pojo.User;
import org.mybatis.spring.SqlSessionTemplate;
import java.util.List;
public class UserMapperImpl implements UserMapper{
//我们所有操作都使用sqlSession来执行,现在都使用sqlSessionTemplate,因为习惯用sqlSession,所以这里命名为sqlSession
private SqlSessionTemplate sqlSession;
//需要有set方法才能够在spring的bean注册中注入sqlSession的值-通过set方法注入:
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
@Override
public List selectUser() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List users = mapper.selectUser();
return users;
}
}
mybatis-config.xml:
<?xml version="1.0" encoding="UTF-8" ?>
spring-dao.xml:spring配置文件,把mybatis配置整合到spring配置中
<?xml version="1.0" encoding="UTF-8"?>
test:
import com.kakafa.mapper.UserMapper;
import com.kakafa.pojo.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
import java.util.List;
public class MyTest {
@Test
public void test() throws IOException {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-dao.xml");
UserMapper mapper = context.getBean("userMapperImpl",UserMapper.class);
List users = mapper.selectUser();
for (User user : users) {
System.out.println(user);
}
}
}
第二种方法:简化了第一种方法
UserMapperImpl2:
package com.kakafa.mapper;
import com.kakafa.pojo.User;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import java.util.List;
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper{
@Override
public List selectUser() {
SqlSession sqlSession = getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List users = mapper.selectUser();
return users;
}
}
spring-dao.xml:
<?xml version="1.0" encoding="UTF-8"?>