栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis

mybatis整合与应用
    • mybatis工具类
    • mybatis核心配置文件:mybatis-config.xml
    • pom文件
    • 编写代码
      • 1. 实体类
      • 2. mapper接口
      • 3.mapper.xml
      • 4.StudentService
      • 5.StudentServiceImpl
      • 6.StudentController

mybatis工具类

在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文件


	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
		
	

编写代码 1. 实体类

在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中







    
    
        select * from Student
    


4.StudentService

在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();
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310018.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号