zoukankan      html  css  js  c++  java
  • MyBatis简单认识(入门)

    1.1. 入门准备

      创建个java项目,项目结构

    1.2在lib文件中导入相应的jar包(注意添加完后,记得右键文件lib点击选中Add as Library)

    1.3准备相应的表

     

    1.4.准备相应的domain,在domain文件里创建个Users.java,(创完,就和图1.1图片一样,UserMapper.xml在下面2.2处创建)

    1.5 dao层准备

     

     

    2.1. MyBatis入门实现

    一切准备就绪。接下来就是开始使用MyBatis了。但是问题来了,怎么用呢?

    该文档虽然只有50多页,但是已经足够咱们学习了。

    先来入个门吧:入门开始,除了介绍什么是MyBatis之后,就在说一个核心对象:SqlSessionFactory,接下来,咱们就是要想方设法拿到这个核心对象。

    SqlSessionFactory对象怎么拿到:直接找到文档中的从 XML 中构建 SqlSessionFactory这一小节开始即可。

    ①获取SqlSessionFactory

      1 我们需要准备一个核心的Mybatis-config.xml文件

      2 拿到SqlSessionFactory之前需要读取核心的xml配置文件

      3 需要构造者(SqlSessionFactoryBuilder)来创建它

    ②映射文件准备

    ③通过SqlSessionFactory获取SqlSession执行映射SQL

    2.2在domain文件里创建UserMapper.xml文件

     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">
    <!-- orm框架 sql的映射
    namespace:命名空间  namespace路径+ id值
              namespace怎么配置 包名.接口名 + queryAll
    -->
    <mapper namespace="cn.itsors.dao.IUserDao">
        <!-- 查询 queryAll()
            resultType 返回类型
        -->
        <select id="queryAll" resultType="cn.itsors.domain.Users">
            select * from t_user
        </select>
    </mapper>

     

     

    2.3在resources文件里创建jdbc.properties文件和核心配置文件MyBatis-Config.xml

     jdbc.properties

    jdbc.driverClassName=驱动程序类名称
    jdbc.url=数据库地址
    jdbc.username=数据库账号
    jdbc.password=数据库密码

    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>
        <!--引入jdbc.propeties文件-->
        <properties resource="jdbc.properties" />
        <!-- 环境们 (很多环境的意思)
            default:默认使用哪一个环境(必需对应一个环境的id)
         -->
        <environments default="development">
            <!--
                一个环境  id:为这个环境取唯一一个id名称
            -->
             <environment id="development">
                <!--
                    事务管理   type:JDBC(支持事务)/MANAGED(什么都不做)
                -->
                <transactionManager type="JDBC" />
                <!-- 数据源, 连接池  type(POOLED):MyBatis自带的连接池 -->
                <dataSource type="POOLED">
                    <!-- 连接数据库的参数 -->
                    <property name="driver" value="${jdbc.driverClassName}" />
                    <property name="url" value="${jdbc.url}" />
                    <property name="username" value="${jdbc.username}" />
                    <property name="password" value="${jdbc.password}" />
                </dataSource>
            </environment>
        </environments>
        <!-- 这个mappers代表的是相应的ORM映射文件 -->
        <mappers>
            <mapper resource="cn/itsors/domain/UserMapper.xml" />
        </mappers>
    
    </configuration>

    2.4 给1.5dao层准备的实现类添加代码

    UsersImpl.java
    package cn.itsors.dao.impl;
    import cn.itsors.dao.IUserDao;
    import cn.itsors.domain.Users;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    import java.io.IOException;
    import java.io.Reader;
    import java.util.List;
    public class UsersImpl implements IUserDao {
        /**
         * 查询数据库全部数据
         * @return
         * @throws IOException
         */
        @Override
        public List<Users> querAll() throws IOException {
            //调用mapper.xml的selectList方法
            Reader reader = Resources.getResourceAsReader("MyBatis-Config.xml");
            //得到SqlSessionFactory
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
            //得到sqlSession
            SqlSession sqlSession = sqlSessionFactory.openSession();
            //调用方法 namespace+id
            List<Users> list = sqlSession.selectList("cn.itsors.dao.IUserDao.queryAll");
            //返回结果集
            return list;
        }
    }

    2.5测试

     UserTest.java

    package cn.itsors.test;
    
    import cn.itsors.dao.impl.UsersImpl;
    
    import java.io.IOException;
    import java.util.List;
    
    import cn.itsors.domain.Users;
    import org.junit.Test;
    
    public class UsersTest{
    
        @Test
        public void querAll() throws IOException {
            //获取实现类
            UsersImpl users = new UsersImpl();
            //调用querAll方法
            List<Users> list = users.querAll();
            //遍历打印所有数据
            for (Users users1 : list) {
                System.out.println(users1);
            }
        }
    }
     

     

     

  • 相关阅读:
    非易失性Flash详解
    易失性存储器SRAM基础知识
    嵌入式STT-MRAM效应与流致反转
    访问SDRAM的低功耗优化设计方案
    SRAM的容量扩展
    SDRAM功耗来源
    如何使FRAM MCU速度更快所需功耗最低
    Nand Flash结构及错误机制
    提升SRAM性能的传统方法
    word在一个文档中使用多个页码,页眉
  • 原文地址:https://www.cnblogs.com/bigbigxiao/p/11937463.html
Copyright © 2011-2022 走看看