Java教程

MyBatis

本文主要是介绍MyBatis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MyBatis

一、框架

    概念:框架是一套完整的解决方案的可重用的代码,包含了一组抽象构件和构件间交互的方法。

二、Mybatis框架

    是一个基于Java的持久层框架,封装了JDBC,使开发者只需要关注SQL语句本身而无需操心加载驱动,创建连接,创建Statement等繁琐的过程。

    可以通过xml或注解的方式配置Statement,并通过java对象和Statement中SQL的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行SQL语句并将结果通过ORM映射为Java对象并返回。

    ORM实现了实体和数据库映射的问题,对JDBC进行了封装,屏蔽了JDBC Api底层访问的细节,使用户更专注于数据库的操作。

 

使用步骤

     以操作数据库的user表为例(user包含id,username, birthday, sex, address属性)。

    1. 创建user表的Java Bean类--User类

    2. 创建user表的Dao层接口。在接口中包括了user表的增删改查等方法。

    3. 配置Mybatis的SqlMapConfig.xml文件,在文件中配置数据库连接信息和数据库访问层信息。

    4. 配置数据库访问层具体接口的UserDao.xml文件,配置方法的方法名、参数类型、返回值类型以及SQL语句等

    4.或通过注释方法配置接口。

    5. 通过mybatis执行创建接口UserDao的代理类 ,通过代理类执行SQL语句,返回执行结果。

2.1 使用流程

1. xml配置方法

  1. 创建User表的Bean类
  2. 创建操作数据库的接口UserDao
  3. 配置Mybatis的文件:SqlMapConfig.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>
        <environments default="mysql">
            <environment id="mysql">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/hellossm?serverTimezone=UTC"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
    
        <mappers>
            <mapper resource="com/one/mybatis/dao/UserDao.xml"/>
        </mappers>
    </configuration>
  4. 配置接口映射文件:UserDao.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">
    
    <!--namespace是数据访问层类-->
    <mapper namespace="com.one.mybatis.dao.UserDao">
    <!--    id是方法名-->
        <select id="findAll" resultType="com.one.mybatis.domain.User">
            select * from user
        </select>
    </mapper>

注意,UserDao.xml在resource下的结构必须与UserDao相同

2. Web配置方法

  1. 创建User表的Bean类
  2. 创建操作数据库的接口UserDao
  3. 配置Mybatis的文件:SqlMapConfig.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>
        <environments default="mysql">
            <environment id="mysql">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/hellossm?serverTimezone=UTC"/>
                    <property name="username" value="root"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
    
        <mappers>
            <mapper class="com.one.mybatis.dao.UserDao"/>
        </mappers>
    </configuration>
  4. 配置Dao接口
    public interface UserDao {
        @Select("select * from user")
        List<User> findAll();
    }
    
  5.  

 

这篇关于MyBatis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!