Spring整合Mybatis方式

方式一

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);
        }

    }
}

posted @ 2023-05-13 19:56  yesyes1  阅读(9)  评论(0编辑  收藏  举报