通用mapper

对通用mapper的理解

可以将通用mapper理解成一个工具,主要是学会使用它;注意是简化对单表的操作。

代码结构

库表

配置文件

在applicationContext会话工厂里配置通用mapper插件。

<!--配置SqlSessionFactory,通过Spring来管理会话工厂-->
    <bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--配置数据源:因为要使用SqlSession操作数据库-->
        <property name="dataSource" ref="dataSource"></property>
        <!--加载mybatis的全局配置文件-->
        <!--<property name="configLocation" value="classpath:mybatis.xml"></property>-->
        <!--Spring起别名-->
        <property name="typeAliasesPackage" value="com.me.pojo"></property>
        <!-- 通用mapper插件的配置 -->
        <property name="plugins">
            <array>
                <!--pagehelper分页配置。 -->
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <value>
                            helperDialect=mysql
                            offsetAsPageNum=true
                            <!-- 防止出现小于第一页,大于最后一页的异常情况出现。 -->
                            reasonable=true
                        </value>
                    </property>
                </bean>
                <bean class="com.github.abel533.mapperhelper.MapperInterceptor">
                    <property name="properties">
                        <value>
                            <!-- 主键自增回写方法,默认值MYSQL -->
                            IDENTITY=MYSQL
                            mappers=com.github.abel533.mapper.Mapper
                        </value>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

UserInfoMapper.java

不用配置pojo类的接口,mapper文件也极大简化了。只需继承Mapper(applicationContext.xml里配置的)就可以。Mapper里封装了很多对单表操作的方法。

import com.github.abel533.mapper.Mapper;
import com.me.pojo.UserInfo;

public interface UserInfoMapper extends Mapper<UserInfo> {

}

UserInfoServiceImpl.java

@Service
public class UserInfoServiceImpl implements UserInfoService {

    @Autowired
    private UserInfoMapper userInfoMapper;

    @Override
    public List<UserInfo> select(UserInfo userInfo) {
        return userInfoMapper.select(userInfo);
    }
}

测试类

@Autowired
    private UserInfoService userInfoService;

    @Test
    public void test(){
        UserInfo user=new UserInfo();
        user.setSex("男");
        List<UserInfo> userInfos=userInfoService.select(user);
        System.err.println(userInfos.toString());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值