MyBatis(one)
//////////2016-12-20 ~ 2016-12-21///////////
int study_data(){
Mybatis
简述
优秀的持久层框架,也就是说和数据库打交道
本是apache的一个开源项目iBatis
2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。
2013年11月迁移到Github。
主要功能:
1.支持普通SQL查询,存储过程。它消除了几乎所有的JDBC代码和参数的手工设置
2.使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects)映射成数据库中的记录,另外支持高级映射
有几个好处:
1.如果公司的数据库交换了服务器,换了用户,密码,或者数据库类型,都可以通过修改配置文件来更改。而不去修改代码
2.当不同环境使用不同的数据库时,切换很方便。比如本地开发,测试环境,以及生产环境
MyBatis Type Alias
xml:
<typeAliases>
<typeAlias type="className" alias="customName"/>
</typeAliases>
package(alias默认为类名,不区分大小写):
<typeAliases>
<package name="packageName" />
</typeAliases>
annotation:
在实体类前加@Alias("customName")配合package方法能指定名称
MyBatis关系定义
MyBatis 一对一关系关系定义(一方):
<association property="propertyName" column="columnName" javaType="className" select="*" />
MyBatis 一对多关系关系定义(多方):
<collection property="propertyName" column="columnName" javaType="CollectionType" ofType=“propertyType” select="*" />
映射时造成的死循环问题:新建一个resultMap去除相互调用的语句
}