mybatis-mapper继承 Crud Mapper 的
Mybatis-mapper
Mapper 继承 CrudMapper 后,无需编写 mapper.xml 文件,即可获得 CRUD 功能
MyBatis 的 sql 默认加载规则
MyBatis通过xml、SqlProvider两种方式获取sql,xml的优先级高于SqlProvider,且xml、SqlProvider中的sql不允许出现同名
mapper 调整后的 sql 加载规则
sql的优先级:xml > SqlProvider > crudsql
xml、SqlProvider、crudsql允许出现同名的sql,优先级高的有效
约定规则
实体类类名驼峰转下划线即为数据库表名,如类User、UserGroups对应的数据库表名为user、user_groups
实体类属性名默认与数据库表字段名一一对应,忽略transient修饰的属性
实体类属性id(Long、long、Integer、int类型)默认对应数据库表主键;如果使用了其他的属性名或主键策略,可以使用注解@PK进行标识
既没采用默认id作为主键,也没使用@PK标识主键,则认为数据库表没有单一主键;根据主键操作的删除、修改、查找方法不会被注入
测试用例
public class UserMapperTest { public static void main(String[] args) { String resource = "mybatis.xml"; InputStream in = UserMapperTest.class.getClassLoader().getResourceAsStream(resource); // 此处采用MybatisSessionFactoryBuilder构建SqlSessionFactory,目的是引入CrudMapper功能 SqlSessionFactory sessionFactory = new MybatisSessionFactoryBuilder().build(in); SqlSession session = sessionFactory.openSession(); UserMapper userMapper = session.getMapper(UserMapper.class); // 此处的selectByPK被UserMapper.xml中的selectByPK覆盖了 User user = userMapper.selectByPK(2); System.out.println(user); user.setName("update_" + user.getName()); // updateByPK是从CrudMapper中继承而来的,UserMapper.xml中并没有申明该sql userMapper.updateByPK(user); // 此处的selectByPK被UserMapper.xml中的selectByPK覆盖了 user = userMapper.selectByPK(user.getPk()); System.out.println(user); session.commit(); } }
评论
PhpGridPHP的CRUD框架
PhpGrid是为php开发人员提供强大,开源的CRUD(添加,显示,删除,修改)框架.适合快速开发演示程序(Demo),CRM系统,OA系统,ERP系统,电子政务系统以及网站后台管理.PHPGrid
PhpGridPHP的CRUD框架
0
CrankJava的CRUD框架
Crank是一个Annotation驱动的CRUD和数据验证框架,基于JPA、JSF、Facelets和Ajax构建,可以让开发人员快速开发基于Ajax/JSF的数据管理功能。
CrankJava的CRUD框架
0
MyBatis Mapper新一代通用 Mapper
项目地址:https://mapper.mybatis.io介绍这是一个不需要任何配置就可以直接使用
MyBatis Mapper新一代通用 Mapper
0
MyBatis Mapper新一代通用 Mapper
项目地址:https://mapper.mybatis.io介绍这是一个不需要任何配置就可以直接使用的通用Mapper,通过简单的学习就可以直接在项目中使用。1.1主要目标1.开箱即用,无需任何配置,
MyBatis Mapper新一代通用 Mapper
0