首页 > 其他分享 >Spring整合Mybatis方式

Spring整合Mybatis方式

时间:2023-05-13 20:14:42浏览次数:35  
标签:java Spring userMapper 整合 import Mybatis org List public

方式一

student.java

package org.example.User;


import lombok.Data;

@Data
public class student {
    private int id;
    private String username;
    private String password;
}

userMapper.java

package org.example.mapper;

import org.example.User.student;

import java.util.List;

public interface userMapper {
    List<student> selectUser();
}

userMapperImpl.java

package org.example.mapper;

import org.example.User.student;
import org.mybatis.spring.SqlSessionTemplate;

import java.util.List;

public class userMapperImpl implements userMapper{

    public void setSqlSession(SqlSessionTemplate sqlSession) {
        this.sqlSession = sqlSession;
    }

    private SqlSessionTemplate sqlSession;
    @Override
    public List<student> selectUser() {
        userMapper mapper=sqlSession.getMapper(userMapper.class);
        List<student> list=mapper.selectUser();
        return list;
    }
}

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/aa"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper class="org/example/mapper/userMapper.xml"/>
    </mappers>
</configuration>

userMAapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.mapper">
    <select id="org.example.mapper.userMapper" resultType="student">
        select * from aa.testing;
    </select>
</mapper>

spring-config.xml

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

<!--    DataSource-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/aa"/>
        <property name="username" value="root"/>
        <property name="password" value="20214063"/>
    </bean>

<!--    sqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--        连接数据池-->
        <property name="dataSource" ref="dataSource"/>
<!--        进行mybatis配置-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <property name="mapperLocations" value="classpath:org/example/mapper/*.xml"/>
    </bean>

    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory"/>
    </bean>

    <bean id="userMapper" class="org.example.mapper.userMapperImpl">
        <property name="sqlSession" ref="sqlSession"/>
    </bean>

</beans>

MyTest.java

package org.example.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.example.mapper.userMapper;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
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 {
        ApplicationContext ac=new ClassPathXmlApplicationContext("spring-dao.xml");

        userMapper us=ac.getBean("userMapper",userMapper.class);

        List<student> list=us.selectUser();

        for(student s:list){
            System.out.println(s);
        }

    }
}

标签:java,Spring,userMapper,整合,import,Mybatis,org,List,public
From: https://www.cnblogs.com/liuzijin/p/17397073.html

相关文章

  • 对于xml文件里面配置mybatis-spring报错的解决
    问题描述在我在bean的class里面进行查找sqlSessionFactoryBean,发现无论如何也找不到前面的mybatis问题解决在导入这个时:我们还需要导入这个依赖,只是导入mybatis自己爹依赖是不行的,需要导入的是mybatis-spring依赖:<dependency><groupId>org.mybatis</groupId>......
  • Spring层引入数据库jdbc需要导的包
    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.21</version></dependency><dependency>......
  • Springboot 开启异步任务Async,邮件发送任务,定时任务
    异步任务1.主启动类开启异步注解 2.service目录下开启异步任务注解@ServicepublicclassAsyncService{@Async//异步任务注解的标志publicvoidhello(){try{Thread.sleep(3000);}catch(InterruptedExceptione){......
  • SpringCloud LoadBalancer
    SpringCloud提供了自己的客户端负载均衡器抽象和实现。对于负载平衡机制,增加了ReactiveLoadBalancer接口,并为其提供了基于RoundRobin和Random的实现。负载均衡策略默认是RoundRobin。支持ServiceInstanceListSupplier的基于服务发现的实现,该实现使用类路径中可用的发现客户端从......
  • Mybatis-Plus 插件——乐观锁
    模拟问题场景场景:1.商品原先价格1002.boss通知小李将商品价格加503.boss觉得加到150,价格太高,通知小王降价304.小李和小王同时查看商品价格为100,小李将价格改为150,小王将价格改为705.最终结果商品价格为70,而boss实际想设定的值是120代码模拟问题:@Testpublicvoidt......
  • MyBatis-Plus 插件——分页插件
    添加配置类@ConfigurationpublicclassMybatisPlusConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();//添加分页插件interceptor.addInnerIn......
  • Spring Boot 注入 Bean 的方法
    阅读完本文,你将可以了解到SpringBoot注入Bean的7种方法,分别如下:通过注解注入的一般形式通过构造方法注入Bean通过set方法注入Bean通过属性去注入Bean通过List注入Bean通过Map去注入Bean背景我们谈到Spring的时候一定会提到IOC容器、DI依赖注入,Spring通过将一个个类......
  • Spring
    什么是SpringSpring可理解为一个巨大的容器,里面由多种组件(bean)组合合成,每个组件有自己的职责和生命周期,组件之间有相互依赖的关系。构建bean目前有两种方式来构建bean,XML或者java注解,新版的Spring也推荐我们使用注解的方式来定义bean,我们跟随官方的脚步来看看bean的定义:@Co......
  • spring框架_@AutoWiredAnnotationBeanPostProcessor执行分析
    AutoWiredAnnotationBeanPostProcessor执行依赖注入的时候(解析@Autowired)调用了postProcessProperties方法这个方法首先要找到哪些属性,方法被标注了@Autowired注解,把这些数据添加到InjectMetadata中,然后调用metadata.inject方法按类型进行依赖注入,注入时按类型进行查找按类......
  • 创建SpringCloud项目
    SpringCloud简介SpringCloud是目前国内使用最广泛的微服务框架。SpringCloud集成了各种微服务功能组件,并基于SpringBoot实现了这些组件的自动装配,从而提供了良好的开箱即用体验。SpringCloud常用组件1.服务注册发现:Eureka,Nacos,Consul2.服务远程调用:OpenFeign,Dubbo3.服务链路......