mybatis学习笔记 (部分资源来自网络)

以SqlSessionFactory实例为中心  他是通过SqlSessionFactoryBuilder来获得
    String resource = "org/mybatis/example/configuration.xml";
    Reader reader = Resources.getResourceAsReader(resource);
   SqlSessionFactory  sqlSessionFactory= new SqlSessionFactoryBuilder().build(reader);

而通过SqlSessionFactory可以创建一个SqlSeesion的实例
SqlSession session = sqlSessionFactory.openSession();
try {
    BlogMapper mapper = session.getMapper(BlogMapper.class);
    Blog blog = mapper.selectBlog(101);
} finally {
    session.close();
}

SqlSeesion包含了所有执行数据库sql语句的方法,可以直接通过SqlSeesion实例执行映射sql语句
xml

<configuration>配置文件包含对mybatis系统的核心设置,包含获取数据库连接实例的数据源和
决定事务范围和控制的事务管理器
可供配置的属性:
    1、<properties>
                <property name="xxx" value="xxx"/>
         </properties>
    2、<settings>
                <setting name="xxx" value="xxx"/>
         </settings>
            setting节点里配置的值会直接改写configuration对应的变量值,这些变量描述的是mybatis的全局
           运行方式
       如:a)cacheEnabled  全局的映射器是否启用
    3、<typeAliases>
                <typeAlias alias="xx自定义别名" type="xxx.xx类名"/>
         </typeAliases>

    4、<typeHandlers>
                 <typeHandler javaType="String" jdbcType="VARCHAR" handler="org.mybatis.example.ExampleTypeHandler"/>
          </typeHandlers>
            无论是mybatis在预处理语句中设置一个参数 还是从结果集中取出一个值时 类型处理器被用来
            将获取的值以合适的方式转换成java类型
    5、<environments default="development">
                <environment id="development">
                    <transactionManager type="JDBC"/>
                        <dataSource type="POOLED">
                                <property name="driver" value="${driver}"/>
                                <property name="url" value="${url}"/>
                                <property name="username" value="${username}"/>
                                <property name="password" value="${password}"/>
                        </dataSource>
                </environment>
        </environments>
    environments里可以配置多个environment,每个environment对应一个数据库环境
    environments里的default属性表示默认的数据环境,与某个environment的id相对应
        1)environment通过id属性与其他数据库环境区别,它有两个子节点:
                a)transactionManager 事务管理器
                b)dataSource数据源
    6、mapper映射器
        <mappers>
                <mapper resource="xxxx/xxxx/xx.xml"/>(路径)
        </mappers


    sql语句映射xml文件  注意:每写好一个sql映射xml文件  要在mybatis主配置文件mappers标签中引入
    如上6所写形式
    可配置的元素:
        1、<mapper namespace="xxx.xx.某接口名称">
              </mapper>
        2、sql 用来定义可重用的sql代码段
            如:<mapper namespace="xxx.xx.某接口名称">
                             <!--可重用的sql代码段-->
                         <sql id="xxx">jjjjj</sql> 
                         <select id="xxx" parameterType="int" resultType="map">
                                              select <include refid="xxx"/> from 某表 where id = #{id}
                         </select>
                    </mapper>
         3、select  如上2所写例子
         4、insert   update  delete
         5、resultMap
            自定义配置resultMap属性:
                type为实体类  id为标识
            可以设置的映射:
                  id    将结果集标记为id  以方便全局调用  即主键映射
                  result  反射到javabean属性的普通结果  其他基本数据库表字段到实体类属性的映射
       association  《关联映射》复杂类型的结合  多个结果合成的类型 
       id和result语句属性配置细节:(
               property:映射到列结果的字段或属性 
                column:从数据库中得到的列名
        )
例如:
<resultMap id="resultUserArticleList" type="Article">
        <id property="id" column="id" />
        <result property="title" column="title" />
        <result property="content" column="content" />
       
        <association property="user" javaType="User">
            <id property="id" column="id" />
            <result property="userName" column="userName" />
            <result property="userAddress" column="userAddress" />            
        </association>        
    </resultMap>
                
 
             




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值