7.通用mapper入门
项目开发中,我们可能需要不动的增加修改表结构,这个时候我们就不停的去维护XxxMapper.xml映射文件
维护起来还是有很大的困难存在
即使现在MBG动态生接口和配置文件,也是很麻烦的事情
所以我们要使用Mybatis通用Mapper接口
好处:不需要程序员去编写sql语句 简单 方便
缺点:你所以的多表联合查询 collection association基本用不上 因为mybatis通用mapper只能支持单表操作
所以,如果某个bean对象中要获取其它的属性,还得我们程序在service业务层手动配置
Mybatis通用Mapper接口官网地址
https://mapperhelper.github.io/docs/
环境 mybatis+spring
1.添加pom.xml依赖
<dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.0.0</version> </dependency>
2.配置applicationContext.xml
value="com.gzcgxt.erp.mapper" 是扫描接口的包名
<bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.gzcgxt.erp.mapper" /> <property name="properties"> <value> mappers=tk.mybatis.mapper.common.Mapper </value> </property> </bean>
3.创建UserMapper接口
package com.gzcgxt.erp.mapper; import com.gzcgxt.erp.domain.User; import tk.mybatis.mapper.common.Mapper; public interface UserMapper extends Mapper<User>{ }
4.User对象
package com.gzcgxt.erp.domain; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import lombok.Data; @Data public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String name; private Integer age; }
5.测试代码
package com.gzcgxt.erp.test; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; 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.gzcgxt.erp.domain.User; import com.gzcgxt.erp.mapper.UserMapper; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml") public class App { @Autowired private UserMapper userMapper; @Test public void testMapper() throws Exception { User u=new User(); u.setName("toto"); u.setAge(29); userMapper.insertSelective(u); int id=u.getId(); System.out.println("主键是:"+id); } }

浙公网安备 33010602011771号