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>
原文地址:https://www.cnblogs.com/wy0119/p/7689735.html