首页 > 其他分享 >Spring_2023_11_23_3 Spring整合mybatis----注解方式

Spring_2023_11_23_3 Spring整合mybatis----注解方式

时间:2023-11-23 17:56:07浏览次数:39  
标签:11 23 Spring id bboy org import com public

Spring整合mybatis----注解方式

2023-11-23 17:18:29 星期四

a) 依赖的引入

 <!--spring基础依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.20</version>
        </dependency>
        <!--spring连接数据库-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.3.20</version>
        </dependency>
        <!--添加mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.4</version>
        </dependency>
        <!--mybatis与spring整合-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.31</version>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.30</version>
        </dependency>
        <!--数据库连接池-->
        <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>2.11.0</version>
        </dependency>

b) Spring核心配置文件:applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd">


    <!--扫描注解包-->
    <context:component-scan base-package="com.bboy.mapper"/>
    <context:component-scan base-package="com.bboy.service.impl"/>
    <!--数据源-->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/qinmanage"/>
        <property name="username" value="root"/>
        <property name="password" value="127003"/>
    </bean>
    <!--SqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--数据源-->
        <property name="dataSource" ref="dataSource"/>
        <!--实体类别名配置-->
        <property name="typeAliasesPackage" value="com.bboy.pojo"/>
    </bean>
    <!-- 配置Mapper,自动扫描Mapper接口,并为其注入SqlSessionFactory -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--指定mapper接口的位置-->
        <property name="basePackage" value="com.bboy.mapper"/>
        <!--指定sqlSessionFactory的名字-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
    </bean>

</beans>

c) Mapper

package com.bboy.mapper;

import com.bboy.pojo.Student;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
@Mapper

public interface StudentMapper {
    @Select("select * from t_student")
    public List<Student> listStudents();
    @Select("select * from t_student where id = #{id}")
    public Student getStudentById(@Param("id") int id);
}

d) Service

1.StudentService

package com.bboy.service;

import com.bboy.pojo.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StudentService {
    public List<Student> listStudents();
    public Student getStudentById(@Param("id") int id);
}

2.StudentServiceImpl

package com.bboy.service.impl;

import com.bboy.mapper.StudentMapper;
import com.bboy.pojo.Student;
import com.bboy.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @类描述:
 * @作者:秦帅
 * @时间:2023/11/23 0023 17:27:29
 */
@Service("studentService")
public class StudentServiceImpl implements StudentService {
    @Autowired
    private StudentMapper studentMapper;

    public void setStudentMapper(StudentMapper studentMapper) {
        this.studentMapper = studentMapper;
    }

    @Override
    public List<Student> listStudents() {
        return studentMapper.listStudents();
    }

    @Override
    public Student getStudentById(int id) {
        return studentMapper.getStudentById(id);
    }
}

e) Demo

package com.bboy.demo;

import com.bboy.pojo.Student;
import com.bboy.service.StudentService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

/**
 * @类描述:
 * @作者:秦帅
 * @时间:2023/11/23 0023 17:26:41
 */
public class Demo {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        StudentService studentService = (StudentService) context.getBean("studentService");
        List<Student> students = studentService.listStudents();
        System.out.println(students);
        System.out.println("====================================================");


        Student student = studentService.getStudentById(4);
        System.out.println(student);

    }

}

测试结果

image

标签:11,23,Spring,id,bboy,org,import,com,public
From: https://www.cnblogs.com/Kbaor/p/17852153.html

相关文章

  • 学习笔记11—20211303
    一、学习任务自学教材第13章,提交学习笔记(10分),评分标准如下1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核心是要求GPT:......
  • 2023-2024-1 20232315 《网络空间安全导论》第二周学习
      一、 我最近初步了解了密码学基础,了解了其起源、初步发展与应用、包含的主要内容以及在当下的情况,下面是大概的思维导图: 二、下面是我学习后的问题:1、信息加密与信息隐藏有何本质区别?解决方法:问AI答案: 问题2:当今密码学面临哪些挑战,该如何迎接这些挑战?答案:......
  • Spring
    Overview<ulclass="tree"> <li>  <detailsopen>   <summary>Giantplanets</summary>   <ul>    <li>     <details>      <summary>Gasgiants</summary>      <......
  • Springboot 自动发送邮件
      完成Springboot配置发件邮箱,自动给其他邮箱发送邮件功能一、创建springboot基础项目,引入依赖<!--SpringBoot邮件依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency&g......
  • 解决spring gateway 在globalFilter 中改写response后前端接到的数据不完整问题
    表现情况1. 前端请求后不响应2.前端接到的数据不完整 是因为修改返回体后没修改header中的content-length.设置成正确的content-length就可以了response.getHeaders().setContentLength(bodyStr.getBytes().length);参考https://juejin.cn/post/7050273290752884743......
  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.11.23)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • spring和springboot定时任务线程池配置
    spring和springboot定时任务线程池配置目录spring和springboot定时任务线程池配置1背景2配置2.1命名空间配置2.2yaml配置3参考文档1背景项目有几个新增的月末报表生成定时任务(使用spring内置的TaskScheduler),相关业务人员反馈报表没有及时生成,让我比较疑惑:虽然生成比较耗......
  • 2023最全的Web自动化测试介绍(建议收藏)
    做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP。有的人可能就会说,我没这个Java基础,没有Selenium基础,能行吗?测试虽然属于计算机行业,但其实并不需要太深入的编程知识!01、行业现状我们先看看目前的行业现状:​测试行业现在70%是以手工测试为主,那么只有20%是自动化......
  • 231103 - i18n Ally 国际化插件使用说明
    231103-i18nAlly国际化插件使用说明i18nAlly国际化插件使用说明搜索安装插件;在项目下的settings.json加入如下配置,localesPaths要结合项目目录进行配置;"i18n-ally.annotationInPlace":false,"i18n-ally.displayLanguage":"zh-chs","i18n-ally.sour......
  • (11)frxGaugePanel1简单仪表盘控件
    参考Demo文档 E:\BaiduNetdiskDownload\FastReport6VCLEnterprise安装后版本\FastReport6VCLEnterprise\Demos\IndicatorfrxGaugePanel1.Gauge.CurrentValue:=14;//当前值frxIntervalGaugePanel1.Gauge.StartValue:=20//起始值frxIntervalGaugePanel1.Gauge.......