Mybatis通用mapper

Mybatis通用mapper

什么是通用Mapper

通用Mapper就是为了解决单表增删改查,基于Mybatis的插件机制。开发人员不需要编写SQL,不需要在DAO中增加方法,只要写好实体类,就能支持相应的增删改查方法

如何使用

首先在maven项目,在pom.xml中引入mapper的依赖
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.1.2</version>
</dependency>
Mybatis配置文件中完成配置
	<plugins>
	<!--分页插件:如果有分页插件,要排在通用mapper之前-->
	<plugin interceptor="com.github.pagehelper.PageHelper">
	<property name="dialect" value="mysql"/>
	</plugin>
	<plugin interceptor="tk.mybatis.mapper.mapperhelper.MapperInterceptor">
	<!-- 通用Mapper接口,多个通用接口用逗号隔开 -->
	<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
	</plugin>
	</plugins>
实体类设置主键
@Table(name = "t_user")
public class User {
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	private String username;
}
定义通用mapper
import com.lagou.domain.User;
import tk.mybatis.mapper.common.Mapper;
public interface UserMapper extends Mapper<User> {
}
测试
public class UserTest {
	@Test
	public void test1() throws IOException {
		Inputstream resourceAsStream =
		Resources.getResourceAsStream("sqlMapConfig.xml");
		SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
		SqlSession sqlSession = build.openSession();
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		User user = new User();
		user.setId(4);
		//(1)mapper基础接口
		//select 接口
		User user1 = userMapper.selectOne(user); //根据实体中的属性进行查询,只能有 —
		个返回值
		List<User> users = userMapper.select(null); //查询全部结果
		userMapper.selectByPrimaryKey(1); //根据主键字段进行查询,方法参数必须包含完 整
		的主键属性,查询条件使用等号
		userMapper.selectCount(user); //根据实体中的属性查询总数,查询条件使用等号
		// insert 接口
		int insert = userMapper.insert(user); //保存一个实体,null值也会保存,不会使
		用数据库默认值
		int i = userMapper.insertSelective(user); //保存实体,null的属性不会保存, 会
		使用数据库默认值
		// update 接口
		int i1 = userMapper.updateByPrimaryKey(user);//根据主键更新实体全部字段,
		null值会被更新
		// delete 接口
		int delete = userMapper.delete(user); //根据实体属性作为条件进行删除,查询条件
		使用等号
		userMapper.deleteByPrimaryKey(1); //根据主键字段进行删除,方法参数必须包含完 整
		的主键属性
		//(2)example方法
		Example example = new Example(User.class);
		example.createCriteria().andEqualTo("id", 1);
		example.createCriteria().andLike("val", "1");
		//自定义查询
		List<User> users1 = userMapper.selectByExample(example);
	}
}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值