Spring - MyBatis CommonDao

1, 公共Dao 

package com.gy.spring.mvc.common.dao;

import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

@Repository
public class CommonDao<T> extends SqlSessionDaoSupport {

    @Autowired
    public CommonDao(SqlSessionFactory sqlSessionFactory) {
        super.setSqlSessionFactory(sqlSessionFactory);
    }

    /**
     * 查询 List 数据, 参数 Object
     * */
    public List<T> list(String sqlId, Object params) {
        return getSqlSession().selectList(sqlId, params);
    }
    /**
     * 查询一条数据, 参数 Object
     * */
    public T get(String sqlId, Object params) {
        return getSqlSession().selectOne(sqlId, params);
    }
    /**
     * 新增, 参数 Object
     * */
    public void insert(String sqlId, Object params) {
        getSqlSession().insert(sqlId, params);
    }
    /**
     * 编辑, 参数 Object
     * */
    public void update(String sqlId, Object params) {
        getSqlSession().update(sqlId, params);
    }
    /**
     * 删除, 参数 Object
     * */
    public void delete(String sqlId, Object params) {
        getSqlSession().delete(sqlId, params);
    }
}

2, 注意该类是否声明到spring容器中,若未声明:

<!-- CommonDao 公共Dao查询, 已通过 @Repository 注解声明, 此处不用声明 -->
	<!--<bean id="sqlSession" class="com.gy.spring.mvc.common.dao.CommonDao">-->
		<!--<property name="sqlSessionFactory" ref="sqlSessionFactory"/>-->
	<!--</bean>-->

3, service 中使用

@Service
public class UserServiceImpl implements UserService {

	@Autowired
	private CommonDao<User> userMapper;

	@Override
	public List listUser() {
		return userMapper.list("UserMapper.listUser", null);
	}

}

4, SQL

<?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="UserMapper">

	<select id="listUser" resultType="com.gy.spring.mvc.entity.User">
		SELECT user_id, username, password, birthday, create_time FROM `user`
	</select>

</mapper>

5, 作用, 减少Mapper接口开发..

转载于:https://my.oschina.net/u/3681868/blog/2979168

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值