- mybatis工具类
- mybatis核心配置文件:mybatis-config.xml
- pom文件
- 编写代码
- 1. 实体类
- 2. mapper接口
- 3.mapper.xml
- 4.StudentService
- 5.StudentServiceImpl
- 6.StudentController
在utils文件夹下
由SqlSessionFactoryBuilder创造sqlSessionFactory,再由后者创造SqlSession。而SqlSession可以执行sql语句(在这一部分,我们需要mybatis的核心配置文件,引出下面配置文件的编写)
package com.zhao.seckills.utils;
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 java.io.IOException;
import java.io.InputStream;
//SqlSessionFactory → SqlSession
public class MybatisUtils {
//由SqlSessionFactoryBuilder创造sqlSessionFactory,再由后者创造SqlSession。而SqlSession可以执行sql语句
private static SqlSessionFactory sqlSessionFactory;
static {
try{
//获取SqlSessionFactory对象
String resource = "mybatis-config.xml";//初始就加载
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//sqlSession完全包含了面向数据库所有的执行sql命令的方法
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
mybatis核心配置文件:mybatis-config.xml
在resource文件夹下
【注意】所有的mapper.xml文件都要在这里注册,才能真正操纵数据库
内容:
pom文件
编写代码 1. 实体类mysql mysql-connector-java org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 src/main/resources ***.properties true src/main/java ***.properties true
在pojo文件夹下
package com.zhao.seckills.pojo;
public class Student {
int id;
String firstName;
String lastName;
public Student(int id, String firstName, String lastName) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
}
public Student() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
2. mapper接口
在mapper包下
主要是数据库相关操作,与数据库交互
package com.zhao.seckills.mapper;
import com.zhao.seckills.pojo.Student;
import java.util.List;
public interface StudentMapper {
List getStudents();
}
3.mapper.xml
在mapper包下
要和mapper的接口相对应,也要注册到mybatis-config.xml中
4.StudentServiceselect * from Student
在service包下
调用Mapper中的方法,操控数据,并有些处理逻辑
package com.zhao.seckills.service;
import com.zhao.seckills.pojo.Student;
import java.util.List;
public interface StudentService {
public List getStudents();
public String getStudentsString();
public String login(Student loginInfo) throws Exception;
}
5.StudentServiceImpl
在ServiceImpl包下
实现StudentService
@Service
public class StudentServiceImpl implements StudentService {
SqlSession sqlSession;
@Override
public List getStudents() {
try{
sqlSession = MybatisUtils.getSqlSession();
StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
return studentMapper.getStudents();
}
catch(Exception e){
e.printStackTrace();
}finally{
sqlSession.close();
}
return null;
}
}
6.StudentController
在controller包下
为前端提供接口,主要调用service层的方法
@RestController
@RequestMapping("/student")
public class StudentController {
@Autowired
private StudentService studentService;
@GetMapping("/studentsList")
public String list(Model model) {
List list = studentService.getStudents();
model.addAttribute("list", list);
return studentService.getStudentsString();
}
}



