mybatis和spring集成

一、加入spring 和mybatis的jar包,spring的依赖包,mybatis-spring.jar,数据库驱动包

二、配置spring

1、配置数据源dataSource

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"></property>
        <property name="username" value="root"></property>
        <property name="password" value="root"></property>
    </bean>

 

2、配置sqlSessionFactory

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="typeAliasesPackage" value="com.hy.mybatis.entity"></property>
    </bean>

 

3、配置映射文件扫描bean

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.hy.mybatis.mapper"></property>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

 

4、配置spring的事务管理器

<bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

 

5、启动注解事务

 

<tx:annotation-driven transaction-manager="transactionManager"/>

 

三、创建一个bean

package com.hy.mybatis.entity;

public class DUser {
    private int id;
    
    private String name;
    
    private int age;

    public DUser(int id, String name, int age) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public DUser() {
        super();
    }

    @Override
    public String toString() {
        return "DUser [id=" + id + ", name=" + name + ", age=" + age + "]";
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

四、创建一个接口

package com.hy.mybatis.mapper;

import com.hy.mybatis.entity.DUser;

public interface UserMapper {
    void save(DUser user);
    void delete(int id);
    void update(DUser user);
    DUser findUserById(int id);
}

五、创建映射文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper   
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hy.mybatis.mapper.UserMapper">

<insert id="save" parameterType="DUser">
    insert into d_user(name,age) values(#{name},#{age});
</insert>

<delete id="delete"></delete>

<update id="update"></update>

<select id="findById"></select>

</mapper>

 

注意:1、映射文件的文件名和接口类名相同;2、namespace必须是接口的全类名;3、id必须和接口对应的方法名相同

 

六、创建一个测试类

package com.hy.mybatis.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.hy.mybatis.entity.DUser;
import com.hy.mybatis.mapper.UserMapper;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/beans.xml")
public class SpringBatisTest {
    
    @Autowired
    private UserMapper userMapper;
    
    
    @Test
    public void testSave() {
        userMapper.save(new DUser(-1, "hy", 28));
    }
}

 

posted on 2017-01-10 21:21  _故乡的原风景  阅读(150)  评论(0编辑  收藏  举报