个人实践总结Myabtis与Spring优化项目【模式二】【超全面】
原创写在前面:本篇为小白博主自学总结内容,比较适合初级者。
方式二 是新版本的内容,对前面方式一进行了进一步的简化!两者可以对比学习一下。建议先学习方式一再来学习方式二,这样更好理解。
个人学习总结 Myabtis与Spring整合项目 【方式二】
一、前期准备
创建maven项目,搭建环境 这里不做过多的赘述。
1.1 导入包
在Mybatis和Spring整合的项目之前,必须先导入相关的包,因为创建的是maven项目,所以直接在 pom.xml 文件中导入相关依赖即可,具体需要导入的依赖如下:
1、导入junit依赖
junit
junit
4.12
2、导入mysql依赖
mysql
mysql-connector-java
8.0.26
3、导入mybatis依赖
org.mybatis
mybatis
3.5.9
4、导入Spring依赖
org.springframework
spring-webmvc
5.3.18
5、Mybatis和Spring整合,需要Spring来操作数据库,所以导入Spring-jdbc依赖
org.springframework
spring-jdbc
5.3.19
6、导入myabtis和spring整合的依赖
org.mybatis
mybatis-spring
2.0.7
注意:
mybatis和spring整合的依赖版本、spring的版本、mybatis的版本之间需要互相对应,具体可参考下图

1.2 创建配置文件及文件夹
1、 创建配置文件
在resources文件夹下,分别创建spring的配置文件 spring-dao.xml 、mybatis的配置文件 mybsatis-config.xml 和总的配置文件 applicationContext.xml 【名字可以随便起】

2、创建文件夹
分别创建com.li.pojo层 来存放实体类、com.li.mapper层 来存放接口及接口的配置文件【名字可以自己起】

二、项目编写
2.1 创建数据库
创建数据库并插入数据
CREATE DATABASE mybatis;
USE mybatis;
CREATE TABLE user(
id INT(20)NOT NULL,
nameVARCHAR(30)DEFAULT NULL,
pwdVARCHAR(30) DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO user(id,name,pwd)
VALUES(1,狂神,123456),
(2,张三,123456),
(3,李四,123456)
2.1 编写代码
1、编写实体类
在创建好的com.li.pojo层创建实体类 User
package com.li.pojo;
public class User {
private int id;
private String name;
private String 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 User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public User() {
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name=" + name + +
", pwd=" + pwd + +
};
}
}
2、 编写接口
在创建好的com.li.mapper层编写接口 UserMapper
package com.li.mapper;
import com.li.pojo.User;
import java.util.List;
public interface UserMapper {
List userSelect();
}
3、 编写接口实现类配置文件 UserMapper.xml
4、编写 mybatis-config.xml 配置文件内容
5、编写接口UserMapper的实现类 UserMapperImpl1
查看Spring文档,可以看到,新版本的这里进行了一些简化,直接继承 SqlSessionDaoSupport 进而不用创建sqlSession,就可以直接使用,

package com.li.mapper;
import com.li.pojo.User;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import java.util.List;
public class UserMapperImpl1 extends SqlSessionDaoSupport implements UserMapper {
@Override
public List userSelect() {
SqlSession sqlSession = getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.userSelect();
}
}
6、编写 spring-dao.xml 配置文件内容
新版本直接继承 SqlSessionDaoSupport ,所以这里也不用绑定用来生成sqlSession的 SqlSessionTemplate 了
9、编写 applicationContext.xml 配置文件内容
8、测试
import com.li.mapper.UserMapper;
import com.li.pojo.User;
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.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyTest {
@Test
public void test() throws IOException {
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//这里的userMapper就是在Spring-dao.xml配置文件中 把类注入进去时候bean的id名
UserMapper userMapper = classPathXmlApplicationContext.getBean("userMapper1", UserMapper.class);
for (User user : userMapper.userSelect()) {
System.out.println(user);
}
}
}

三、项目源码
链接:https://pan.baidu.com/s/1vF9NeWTIR7mrzKYaE2ndAw
提取码:9802
四、总结
Mbtstis+Spring的整合 方式一 移步:
https://blog.csdn.net/junR_980218/article/details/124265050
方式一和方式二 对比进行学习 更好。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123



