• mybatis入门教程之搭建一个简单的mybatis项目并启动它


    一、准备条件:

           1.依赖jar包:mybatis核心包(必须)、lombok插件包(非必须)以及MySQL数据库连接驱动包(必须)

            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.12</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.25</version>
            </dependency>

         2.jdk1.8及以上

         3.其他

    二、配置启动mybatis项目

         1.核心配置文件(请放到项目的classpath路径下):

    <?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>
            <!--数据库连接属性-->
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://127.0.0.1:3306/xiao"/>
            <property name="username" value=""/>
            <property name="password" value=""/>
        </properties>
    
    
        <!--环境配置信息-->
        <environments default="development">
            <environment id="development">
                <!--事务管理,采用JDBC事务-->
                <transactionManager type="JDBC"/>
    
                <!--dataSource连接管理,采用需要连接池的链接-->
                <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>
    
        <!--映射配置文件-->
        <mappers>
            <mapper resource="UserMapper.xml"/>
        </mappers>
    </configuration>

        2.启动。使用mybatis的核心代码就是操作一个SqlSession对象,对数据库进行增删改查操作,那么一个SqlSession对象是如何生成的呢?先读取核心配置文件(参考上面),然后用工厂模式创建。

    //使用xml文件来加载mybatis启动项
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    //try语句可以单独使用,表名如果代码执行完毕后,自动释放小括号中的资源。前提是该资源实现了AutoCloseable接口。
    try (SqlSession sqlSession = sqlSessionFactory.openSession()) { }

       3.映射。将对数据库表的操作,放入一个xml配置文件中,并在mybatis-config文件中引入。并且将每一个配置文件都与一个类一一对应。

         在mybatis-config中引入映射文件

    <!--映射配置文件-->
        <mappers>
            <mapper resource="UserMapper.xml"/>
        </mappers>

       具体的映射配置文件:注意,namespace(命名空间)一定与具体的Java类的全路径保持一致,这样mybatis在加载的时候,会自动将xml文件与对应的Java类绑定。在老版本的mybatis中,只需要配置文件便可以访问sql,但是需要用string类型的id和配置文件的进行匹配

    这样就可能在编码过程中出现错误。现在将配置文件与一个具体的类接口绑定之后,就不会出错。

    <!DOCTYPE  mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="com.lv.bean.UserBeanMapper">
        <resultMap id="UserMap" type="com.lv.bean.UserBean">
            <id property="id" column="uid"/>
            <result property="user_name" column="userName"/>
            <result property="user_password" column="userPassword"/>
            <result property="createTime" column="createTime"/>
            <result property="updateTime" column="updateTime"/>
        </resultMap>
    
        <!-- 可以将sql语句独立出来,然后引用 -->
        <sql id="selectMap">
             u.username, u.address ,c.campany_name
         </sql>
    
        <!-- 根据id查询用户 -->
        <select id="getUserInfo" parameterType="int" resultType="com.lv.bean.UserBean">
            SELECT * FROM user u WHERE u.uuid = #{uuid}
        </select>
    </mapper>

        与上面的配置文件绑定的Java类(接口),其中方法名与上面的映射配置文件的id对应。

    public interface UserBeanMapper {
        public UserBean getUserInfo(int dd);
    }

     参考文献:https://mybatis.org/mybatis-3/zh/configuration.html

  • 相关阅读:
    Data Wrangling文摘:Non-tidy-data
    Data Wrangling文摘:Tideness
    Python文摘:Mixin 2
    Python文摘:Mixin
    Python文摘:Python with Context Managers
    Python学习笔记11
    SQL学习笔记9
    SQL学习笔记8
    SQL学习笔记7
    Python学习笔记10:内建结构
  • 原文地址:https://www.cnblogs.com/xiaoao/p/14292963.html
Copyright © 2020-2023  润新知