- 授权协议: Apache
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: http://git.oschina.net/jrl/mybatis-mapper
- 软件文档: http://git.oschina.net/jrl/mybatis-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();
}
}
人月神话(英文版)
[美] Frederick P. Brooks, Jr. / 人民邮电出版社 / 2010-8 / 29.00元
本书内容源于作者Brooks在IBM公司任System/360计算机系列以及其庞大的软件系统OS/360项目经理时的实践经验。在本书中,Brooks为人们管理复杂项目提供了最具洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践,为每个复杂项目的管理者给出了自己的真知灼见。 大型编程项目深受由于人力划分产生的管理问题的困扰,保持产品本身的概念完整性是一个至关重要的需求。本书探索了达成......一起来看看 《人月神话(英文版)》 这本书的介绍吧!
