zoukankan      html  css  js  c++  java
  • mybatis初步

    mybatis框架

    1.MyBatis是什么?

       MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。 

      MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

      Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回

    2.Mybatis架构图

    3.使用Mybatis

      3.1引入Mybatis的jar包

        略

      3.2配置Mybatis的全局配置文件

    mybatis-config.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>                 <!--根节点-->
    
        <!--引入外部文件-->
        <properties resource="jdbc.properties"></properties>
        
    <settings>
        <setting name="cacheEnabled" value="true"></setting>
        <setting name="lazyLoadingEnabled" value="true"/>
        <setting name="aggressiveLazyLoading" value="true"/>
    </settings>
        
        
        <!--使用该包下的类的简单名称做别名-->
        <typeAliases>
        <package name="cn.happy.entity"></package>
        </typeAliases>
        <environments default="development"><!--环境-->
            <environment id="development">
                <transactionManager type="JDBC"/><!--一共两种jdbc和jdbc【manage】-->
                <dataSource type="POOLED"><!--unpolled     jndi-->
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
           <!-- <mapper resource="cn/happy/dao/IUserInfoDao.xml"/>--><!--扫描对应的小配置文件,仅能扫描单个-->
            <package name="cn.happy.dao"></package><!--扫描对应包下的小配置-->
        </mappers>
    </configuration>
    jdbc.properties文件
    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql:///user
    jdbc.username=root
    jdbc.password=root

     

    ICategoryDAO.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    <mapper namespace="cn.happy.dao.ICategoryDAO"><!--关联的dao层文件-->
    
        <resultMap id="categoryMapper" type="Category">
            <id column="id" property="id"></id>
            <result column="name" property="name"></result>
            <result column="parentid" property="parentid"></result>
            <collection property="list" ofType="Category" select="getlist" column="id">
    
            </collection>
        </resultMap>
        <select id="getlist" resultMap="categoryMapper">
            SELECT  * from category WHERE parentid=#{id}
        </select>
    
    </mapper>
  • 相关阅读:
    字符串-串的最大表示-后缀数组-1163. 按字典序排在最后的子串
    动态规划-买卖股票的最佳时机 V
    贪心-到达终点数字
    贪心-优先队列-模拟-任务调度器
    滑动窗口-区间统计
    快速排序-无序数组K小元素
    POJ 2299 Ultra-QuickSort【树状数组 ,逆序数】
    POJ 2976 Dropping tests【二分 最大化平均值】
    POJ 1064 Cable master 【二分答案】
    POJ 3190 Stall Reservations 【贪心 优先队列】
  • 原文地址:https://www.cnblogs.com/wy0119/p/7689735.html
Copyright © 2011-2022 走看看