Spring整合Mybatis
Spring整合Mybatis
导入依赖
mysql
mysql-connector-java
5.1.38
org.mybatis
mybatis
3.5.6
org.springframework
spring-jdbc
5.3.13
org.mybatis
mybatis-spring
2.0.6
org.springframework
spring-webmvc
5.3.13
junit
junit
4.13.2
test
org.aspectj
aspectjweaver
1.9.7
使用Spring创建SqlSessionTemplate对象(用途和SqlSession一样)
<?xml version="1.0" encoding="UTF-8"?>
整合到applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
此时可以留着mybatis-config.xml做一些简单配置
<?xml version="1.0" encoding="UTF-8" ?>
实体类
public class User {
private int id;
private String name;
private String pwd;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
public User() {
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
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 String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
接口
public interface UserMapper {
List selectAllUsers();
}
接口的映射文件
<?xml version="1.0" encoding="UTF-8" ?>
方式一
接口实现类
public class UserMapperImpl implements UserMapper {
private SqlSessionTemplate sqlSession;
public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
@Override
public List selectAllUsers() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List users = mapper.selectAllUsers();
return users;
}
}
方式二(继承 SqlSessionDaoSupport)
public class UserMapperImpl2 extends SqlSessionDaoSupport implements UserMapper {
@Override
public List selectAllUsers() {
UserMapper mapper = getSqlSessionTemplate().getMapper(UserMapper.class);
List users = mapper.selectAllUsers();
return users;
}
}
测试类
public class MyTest {
@Test
public void test01() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserMapper userMapper = context.getBean("UserMapperImpl", UserMapperImpl.class);
List users = userMapper.selectAllUsers();
for (User user : users) {
System.out.println(user);
}
}
@Test
public void test02() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserMapper userMapper = context.getBean("UserMapperImpl2", UserMapperImpl2.class);
List users = userMapper.selectAllUsers();
for (User user : users) {
System.out.println(user);
}
}
}