myBatis框架和Spring框架的整合

本文详细介绍了myBatis和Spring框架的整合步骤,包括导入相关jar包、配置数据源、创建会话工厂和对象、创建持久化类、映射文件及Dao层,以及在Spring中管理myBatis映射,最后讲解了如何通过Java Bean和注解传递多个参数。
摘要由CSDN通过智能技术生成

一、将myBatis配置文件中的数据源的配置交给spring

二、把myBatis配置文件的读取交出去

三、将会话工厂、会话对象创建交给spring完成

四、结合spring注解优势,将myBatis映射文件进行整合


两大框架整合的步骤:

1、导jar包

myBatis里所有的jar包

spring里面相关的jar包

mysql的驱动包

mybatis和spring的整合包

添加数据库数据源、连接池

 2、将mybatis框架中关于数据源的配置交给spring框架进行管理

<!--将myBatis数据源配置接管过来-->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false"></property>
        <property name="username" value="root"></property>
        <property name="password" value="123456"></property>
    </bean>

3、将mybatis中创建会话工厂、会话对象的任务交给spring框架,同时注入mybatis的配置文件,让mybatis框架和spring框架进行完美整合

<!--创建会话工厂、会话对象-->
    <bean id="sqlSessionFactory"  class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation" value="classpath:mapper/student-config.xml"></property>
    </bean>

4、创建po层持久化类

5、将mybatis的配置文件中关于环境配置的部分删除(因为已经交由spring框架管理),只留下映射文件路径部分

6、创建mybatis映射文件

7、Dao层的创建:

mybatis映射文件中所有的id,都将成为dao层接口的所有的方法名

为了实现id和dao层接口方法的一一映射关系,这里需要引入spring的相关注解@Mapper实现接口方法的映射

@Repository
@Mapper
public interface Student_dao {
    public List<Student> selectStudent();
    public Student selectStudentById(String id);
    public List<Student> selectStudentByDept(String dept);
    public void insertStudent(Student student);
    public void deleteStudent(String id);
    public void updateStudent(Student student);
}

8、修改mybatis映射文件中的命名空间

<!--
namespace:命令空间
映射文件的完整路径
-->
<mapper namespace="dao.impl.Student_dao">

9、在spring中增加mybatis的映射管理

<!--spring中增加myBatis的映射管理-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
        <property name="basePackage" value="dao"></property>
    </bean>

10、创建控制层

在控制层中注入dao层对象(增删改查的部分可以自行完成)

@Service
public class Student_service {
    @Autowired
    private Student_dao dao;

    public void enter(String id) {
        Student stu=dao.selectStudentById(id);
        if(stu!=null){
            System.out.println("登录成功");
        }else {
            System.out.println("登录失败");
        }
    }
    public void login(Student student) {
        Student stu=dao.selectStudentById(student.getId());
        if (stu==null){
            dao.insertStudent(student);
            System.out.println("注册成功");
        }else{
            System.out.println("id已存在");
        }
    }
}

11、注意在spring配置文件添加注解扫描

    <context:component-scan base-package="dao"></context:component-scan>
    <context:component-scan base-package="service"></context:component-scan>

12、测试

ApplicationContext appCon=new ClassPathXmlApplicationContext("Spring.xml");
        Student_service s= (Student_service) appCon.getBean("student_service");
        s.enter("1");
        Student student2=new Student("7","31",21,"53","51");
        s.login(student2);

如何传递多个参数:

一、使用Java Bean传递多个参数

public class User {
    private String username;
    private String password;
@Repository
@Mapper
public interface Book_dao {
    public User selectUserByUserName(User user);
}
<select id="selectUserByUserName" resultType="po.User" parameterType="po.User">
        SELECT * FROM `user` WHERE username=#{username} AND `password`=#{password}
    </select>

二、使用注解传递多个参数

在dao层给每一个参数添加@Param,@Param里面的(“”)是传递到映射文件中的参数名

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值