可以将通用mapper理解成一个工具,主要是学会使用它;注意是简化对单表的操作。
在applicationContext会话工厂里配置通用mapper插件。
<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource">property>
<property name="typeAliasesPackage" value="com.me.pojo">property>
<property name="plugins">
<array>
<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>
IDENTITY=MYSQL
mappers=com.github.abel533.mapper.Mapper
value>
property>
bean>
array>
property>
bean>
不用配置pojo类的接口,mapper文件也极大简化了。只需继承Mapper(applicationContext.xml里配置的)就可以。Mapper里封装了很多对单表操作的方法。
import com.github.abel533.mapper.Mapper;
import com.me.pojo.UserInfo;
public interface UserInfoMapper extends Mapper<UserInfo> {
}
@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());
}