• spring整合mybatis


    1.mybatis实现数据库中学生信息的查询:

    运行结果:

    在这里插入图片描述

    代码整体布局:

    在这里插入图片描述

    代码如下:

    数据库/表:

    create table tb_student
    (
        student_id int primary key auto_increment,
        name varchar(20),
        sex char(1),
        birthday date
    );
    
    select * from tb_student;
    
    insert into tb_student
    (name,sex,birthday)
    select '张三','男','2001-01-01' UNION
    select '李四','女','2002-01-02' union
    select '王五','男','2002-01-01' union
    select '赵六','男','2003-01-03' union
    select '孙琪','男','2002-01-01' union
    select '高达','女','2005-01-01' union
    select '郭靖','男','2002-11-01' union
    select '黄蓉','女','2002-09-01' union
    select '大武','男','2002-01-05';
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    pom.xml:

    
    
        4.0.0
    
        org.example
        mybatis_0822_KTLX2
        1.0-SNAPSHOT
    
        
            8
            8
            5.3.14
            1.4
            3.4.6
            1.3.3
            8.0.11
        
        
            
            
                org.springframework
                spring-context
                ${spring.version}
            
            
                repository.org.springframework
                spring-jdbc
                ${spring.version}
            
            
            
                commons-dbcp
                commons-dbcp
                ${commons-dbcp.version}
            
            
            
                org.mybatis
                mybatis
                ${mybatis.version}
            
            
            
                mysql
                mysql-connector-java
                ${mysql-connector-java.version}
            
            
            
                org.mybatis
                mybatis-spring
                ${mybatis-spring.version}
            
            
            
                com.github.pagehelper
                pagehelper
                5.1.4
            
            
            
                com.github.abel533
                mapper
                3.0.1
            
        
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71

    Student:

    package com.entity;
    
    import java.util.Date;
    
    public class Student {
        private Integer studentId;
        private String name;
        private String sex;
        private Date birthday;
    
        public Student() {
        }
    
        public Student(Integer studentId, String name, String sex, Date birthday) {
            this.studentId = studentId;
            this.name = name;
            this.sex = sex;
            this.birthday = birthday;
        }
    
        public Integer getStudentId() {
            return studentId;
        }
    
        public void setStudentId(Integer studentId) {
            this.studentId = studentId;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex(String sex) {
            this.sex = sex;
        }
    
        public Date getBirthday() {
            return birthday;
        }
    
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "studentId=" + studentId +
                    ", name='" + name + '\'' +
                    ", sex='" + sex + '\'' +
                    ", birthday=" + birthday +
                    '}';
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63

    StudentMapper:

    package com.mapper;
    
    import com.entity.Student;
    
    import java.util.List;
    
    public interface StudentMapper {
        List listAll();
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    StudentMapper.xml:

    
    
    
    
    
        
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    db.properties:

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/70816_db?useSSL=false&serverTimezone=Asia/Shanghai&characterEncoding=utf8&allowPublicKeyRetrieval=true
    jdbc.username=root
    jdbc.password=123456
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    mybatis-config.xml:

    
    
    
        
        
            
            
        
        
            
        
    
        
            
                
                
                    
                    
                    
                    
                
            
        
        
            
        
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    Test:

    package com.test;
    
    import com.mapper.StudentMapper;
    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;
    
    public class Test {
        public static void main(String[] args) throws IOException {
            InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
            SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
            SqlSession session=factory.openSession();
            StudentMapper studentMapper=session.getMapper(StudentMapper.class);
            System.out.println(studentMapper.listAll());
    
            session.commit();
            session.close();
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    2.按照之前的结构,业务层搞起来。。。

    参考:第三章 DAO模式《分层》 ② 代码https://blog.csdn.net/Liu_wen_wen/article/details/125967616
    在这里插入图片描述

    运行结果如下:

    在这里插入图片描述

    代码结构整体布局:

    在这里插入图片描述

    添加/修改的代码如下:

    在这里插入图片描述

    IStudentService:

    package com.service;
    
    import com.entity.Student;
    
    import java.util.List;
    
    public interface IStudentService {
        List listAll();
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    StudentServiceImpl:

    package com.service.impl;
    
    import com.entity.Student;
    import com.mapper.StudentMapper;
    import com.service.IStudentService;
    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;
    import java.util.List;
    
    public class StudentServiceImpl implements IStudentService {
    
        @Override
        public List listAll() {
            InputStream inputStream=null;
            try {
                inputStream= Resources.getResourceAsStream("mybatis-config.xml"); //ctrl+alt+t try+catch
                SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
                SqlSession session=factory.openSession();
                StudentMapper studentMapper=session.getMapper(StudentMapper.class);
                //System.out.println(studentMapper.listAll());
                List studentList=studentMapper.listAll();
    
                session.commit();
                session.close();
    
                return studentList;
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    Test2:

    package com.test;
    
    import com.entity.Student;
    import com.service.IStudentService;
    import com.service.impl.StudentServiceImpl;
    
    import java.util.List;
    
    public class Test2 {
        public static void main(String[] args) {
            IStudentService iStudentService=new StudentServiceImpl();
            List studentList=iStudentService.listAll();
            System.out.println(studentList);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    3.spring整合mybatis实现数据库中学生信息的查询:(待补充:增删改查)

    运行结果:

    在这里插入图片描述

    思路图解:

    在这里插入图片描述

    代码结构整体布局:

    在这里插入图片描述

    添加/修改的代码如下:

    spring-1.jsp:(新增)

    
    
        
        
        
        
        
        
            
            
            
            
        
        
        
            
            
            
            
            
            
            
            
        
        
        
            
            
            
            
        
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    mybatis-config.xml:(修改)

    
    
    
    
        
            
            
        
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    Test2:(修改)

    package com.test;
    
    import com.entity.Student;
    import com.service.IStudentService;
    import com.service.impl.StudentServiceImpl;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import java.util.List;
    
    public class Test2 {
        public static void main(String[] args) {
    //        IStudentService iStudentService=new StudentServiceImpl();
    //        List studentList=iStudentService.listAll();
    //        System.out.println(studentList);
            ApplicationContext ctx=new ClassPathXmlApplicationContext("spring-1.xml");
            IStudentService service=ctx.getBean(IStudentService.class);
            System.out.println(service.listAll());
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    StudentServiceImpl:(修改)

    package com.service.impl;
    
    import com.entity.Student;
    import com.mapper.StudentMapper;
    import com.service.IStudentService;
    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.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    @Service
    public class StudentServiceImpl implements IStudentService {
        @Autowired
        private StudentMapper studentMapper;
    
        @Override
        public List listAll() {
            return studentMapper.listAll();
    
    //        InputStream inputStream=null;
    //        try {
    //            inputStream= Resources.getResourceAsStream("mybatis-config.xml"); //ctrl+alt+t try+catch
    //            SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
    //            SqlSession session=factory.openSession();
    //            StudentMapper studentMapper=session.getMapper(StudentMapper.class);
    //            //System.out.println(studentMapper.listAll());
    //            List studentList=studentMapper.listAll();
    //
    //            session.commit();
    //            session.close();
    //
    //            return studentList;
    //        } catch (IOException e) {
    //            e.printStackTrace();
    //        }
    //        return null;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    讲解参考:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    // A code block
    var foo = 'bar';
    
    • 1
    • 2

    // A code block
    var foo = 'bar';
    
    • 1
    • 2
  • 相关阅读:
    分享一个在linux中运行通义千问的方法
    Dinky上路之旅
    【Java+SSM】请假审批系统
    Python(黄金时代)—— 让文字来说话
    Smart UI Web 16.0.1 WebComponents htmlelements Crack
    基础数据结构——二叉搜索树
    解析DDD开发框架Axon
    OW-DETR | 基于 Transformer 的开放世界目标检测器
    JUnit单元测试
    如何让企业督办管理系统对接第三方应用
  • 原文地址:https://blog.csdn.net/Liu_wen_wen/article/details/126472881