zoukankan      html  css  js  c++  java
  • Mybatis 环境搭建

    Mybatis框架是:定制SQL,存储过程,高级映射,的持久层框架,用于替代JDBC进行对数据库进行相关的操作

    第一步: 引入相关的jar包

    其中包括mybatis-libsmybatis-3.4.0.jar和mysql-libsmysql-connector-java-5.1.39.jar

    第二步:创建mybatis-config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- MyBatis的核心配置文件 -->
    <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
       <!-- 核心文件做了什么事情?
            1.配置连接数据库的信息
            2.加载映射文件
        -->
    <configuration>
        <!-- 加载时  default 默认启动的加载的数据库信息 id不允许重复-->
        <environments default="development">
            <environment id="development">
            <!-- 配置事务管理器,请查阅帮助文档 -->
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <!-- 加载的驱动类 -->
                    <property name="driver" value="com.mysql.jdbc.Driver" />
                    <!-- 数据库连接信息 -->
                    <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis" />
                    <!-- 用户名 -->
                    <property name="username" value="root" />
                    <!-- 密码 -->
                    <property name="password" value="root" />
                </dataSource>
            </environment>
        </environments>
    <!-- 加载映射文件 用mybatis-config.xml控制userMapper.xml文件 -->
    <mappers>
        <mapper resource="com/wangchao/model/UserMapper.xml"/>
    </mappers>
    </configuration>

    第三步:配置UserMapper.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相当于包名不允许重复 使用#获取到值,会自动编译 成类似   ‘值’的形式  利用接口的方式 需要使id的名字与接口内方法的名字完全相同  -->
    <mapper namespace="com.wangchao.model.User">
        <!--获取结果集市list  -->
        <select id="list" resultType="map">
            select * from user
        </select>
        <!-- 获取结果集是单独map 当参数就一个值时   #{id} 中的值可以随意写-->
        <select id="load" parameterType="int" resultType="map">
            select * from user where id =#{id}
        </select>
        <!-- 传递值是map -->
        <select id="load_map" parameterType="map" resultType="map">
            select * from user where id = #{id} and user_name=#{userName}
        </select>
        
        <!-- 添加的操作  传递的参数类型是map-->
        <insert id="add" parameterType="map">
            insert into user (account,password,user_name) values (#{account},#{password},#{userName})
        </insert>
    </mapper>

    第四步:创建sqlSession

    package com.wangchao.util;

    import java.io.InputStream;

    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    public final class MyBatisUtils
    {

        private static SqlSessionFactory factory = null;
        private static InputStream inputStream = null;
        /** 核心配置文件所在位置 */
        private final static String PATH = "mybatis-config.xml";

        // 静态代码块
        static
        {

            try
            {
                /** 读取核心配置文件 */
                inputStream = Resources.getResourceAsStream(PATH);
                /** 获取SqlSessionFactory */
                factory = new SqlSessionFactoryBuilder().build(inputStream);
            }
            catch (Exception ex)
            {// 捕获并处理
                // logger.debug("加载文件异常,异常信息为:" + ex.getMessage());
                throw new RuntimeException("加载文件异常,异常信息为:" + ex.getMessage());
            }
        }

        /**
         * 关闭资源SqlSession
         */
        public static void closeSqlSession(SqlSession sqlSession)
        {
            if (sqlSession != null)
            {
                sqlSession.close();
            }
        }

        /**
         * 获取SqlSession
         * @return SqlSession
         */
        public static SqlSession getSqlSession()
        {
            return factory.openSession();
        }

        // 不能进行实例化操作
        private MyBatisUtils()
        {
        }

    }

  • 相关阅读:
    nodejs windows下安装运行
    第一篇博客
    vc 动态链接库编程2
    vc 动态链接库编程
    原生js实现图片在线预览
    玩转 css3
    CSS Hack整理
    PHP stdClass Object转array
    aptana studio3 汉化方法
    玩转 css3 续
  • 原文地址:https://www.cnblogs.com/qingtianBKY/p/7074478.html
Copyright © 2011-2022 走看看