mybatis XML 映射配置文件 (官方文档)

  -对象工厂(objectFactory)

  -配置环境(environments)

  -映射器(mappers)


本地IDEA搭建/测试步骤

  1. 创建数据库
    1.   执行mysql查询

      CREATE DATABASE mybatis;
      CREATE TABLE tbl_employee(
      id INT(11) PRIMARY KEY AUTO_INCREMENT,
      last_name VARCHAR(25),
      gender CHAR(1),
      email VARCHAR(25)
      );
    2. 插入一条数据
  2. 加载jar包 :  
    1.   
    2. log4.jar 用于显示查询信息;
  3. 创建工程的资源文件夹(source folder) conf ,存储XML文件
    1.   
    2. <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
      <param name="Encoding" value="UTF-8" />
      <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" />
      </layout>
      </appender>
      <logger name="java.sql">
      <level value="debug" />
      </logger>
      <logger name="org.apache.ibatis">
      <level value="info" />
      </logger>
      <root>
      <level value="debug" />
      <appender-ref ref="STDOUT" />
      </root>
      </log4j:configuration>

      log4j.xml (用于辅助显示sql查询信息)

      <?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="day_01.EmployeeMapper">
      <select id="selectEmp" resultType="day_01.Employee">
      select id,last_name lastname,gender,email from tbl_employee where id = #{id}
      </select>
      </mapper>

      EmployeeMapper.xml

      <!--
      namespace: 名称空间
      id: 唯一标识
      resultType:返回值类型
      #{id} : 从传递过来的参数中取出id值
      !-->
    3. <?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="development">
      <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
      <property name="driver" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
      <property name="username" value="root"/>
      <property name="password" value="123456"/>
      </dataSource>
      </environment>
      </environments>
      <!--将我们写好的sql映射文件{EmployeeMapper.xml},
      一定要注册到本全局配置文件{mybatis-config.xml}中-->
      <mappers>
      <mapper resource="EmployeeMapper.xml"/>
      </mappers>
      </configuration>

      全局配置文件{mybatis-config.xml}

  4. 创建Employee 的JavaBean类 , 加上toString()方法
    1.   
    2. package day_01;
      
      public class Employee {
      private Integer id;
      private String lastname,email,gender; @Override
      public String toString() {
      return "Employee{" +
      "id=" + id +
      ", lastname='" + lastname + '\'' +
      ", email='" + email + '\'' +
      ", gender='" + gender + '\'' +
      '}';
      } public Integer getId() {
      return id;
      } public void setId(Integer id) {
      this.id = id;
      } public String getLastname() {
      return lastname;
      } public void setLastname(String lastname) {
      this.lastname = lastname;
      } public String getEmail() {
      return email;
      } public void setEmail(String email) {
      this.email = email;
      } public String getGender() {
      return gender;
      } public void setGender(String gender) {
      this.gender = gender;
      }
      }
  5. 创建class MybatisTest01 测试类,执行并输入一条已经映射的sql语句
    1.   

      /**
      * 1. 根据xml配置文件(全局配置文件),创建一个sqlSessionFactory 对象,
      * 有一些运行环境的信息
      * 2.sql映射文件:配置了每一个sql ,以及sql的封装规则;
      * 3.将sql映射文件保存注册在全局配置文件中;
      * 4.写代码:
      * 1): 根据全局配置文件得到sqlSessionFactory;
      * 2): 使用sqlSession工厂,获得到sqlSession 对象,使用它来进行增删改查;
      * 一个sqlSession 就是代表和数据库的一次会话,用完关闭;
      * 3): 使用sql的唯一标识来告诉MyBatis执行那个sql,sql都是保存在sql映射文件中;
      */

      

public class MybatisTest01 {
@Test
public void test01() throws IOException {
//第一步根据xml配置文件(全局配置文件)
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //第二步 ,获取sqlSession的实例,能够执行已经映射的sql语句
SqlSession openSession=sqlSessionFactory.openSession(); try {
//格式: openSession.selectOne("mapper的namespace+id" , arg1:传入数据)
Employee employee = openSession.selectOne("day_01.EmployeeMapper.selectEmp",1);
System.out.println(employee);
} finally {
openSession.close();
}
} }

MyBatis3-topic-01 -安装/下载/官方文档 -执行输入一条已经映射的sql语句的更多相关文章

  1. 在 Ubuntu 上安装 TensorFlow (官方文档的翻译)

    本指南介绍了如何在 Ubuntu 上安装 TensorFlow.这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持)  这些指令. 一 ...

  2. selenium安装及官方文档

    selenium-python官方文档: https://selenium-python.readthedocs.io/ python3.5已安装的情况下,安装示意图如下 命令行输入 pip3 ins ...

  3. ubuntu16.04下snort的安装(官方文档安装)(图文详解)

    不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...

  4. ubuntu14.04下snort的安装(官方文档安装)(图文详解)

    不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...

  5. keepalived 安装篇-官方文档

    官方安装文档 http://www.keepalived.org/doc/installing_keepalived.html Installing Keepalived Install keepal ...

  6. Daphile 安装手册 -- 官方文档译文 [原创]

    Daphile 安装手册(Daphile Installation) 英文原文:https://www.daphile.com/download/DaphileInstallation.pdf 采集日 ...

  7. Elasticsearch官方文档离线访问实操指南

    文章转载自:https://mp.weixin.qq.com/s/Cn9ddkj-cne5pKtfOgNPbg 延申一下,不仅能下载Elasticsearch官方文档,还能下载其他软件的官方文档,详看 ...

  8. MyBatis官方文档——入门

    入门 安装 要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可. 如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 ...

  9. CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)

    安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...

随机推荐

  1. 通过iis启动服务,会产生C:/inetpub/logs/logsFile产生大量的日志,定期清理

    [转]https://www.cnblogs.com/Martianhh/p/5312495.html bat文件内容如下,加入到计划任务执行 :: 清理IIS日志文件 :: 备份MySql数据库 @ ...

  2. htm5 css学习笔记整理

    点击链接后退页面: <a href="javascript:history.go(-1)">回到上一个网页</a> ——修改placeholder提示的样式 ...

  3. Qt qml的软件架构设计

    google: qt qml application architecture 有很多资源. 1 https://www.ics.com/blog/multilayered-architecture- ...

  4. php 文字转换成拼音

    <?php //中文字转拼音 $d=array( array("a",-20319), array("ai",-20317), array("a ...

  5. Java 中的并发工具类

    Java 中的并发工具类 CountDownLatch public class JoinCountDownLatchTest { public static void main(String[] a ...

  6. EFCore中的导航属性

    使用了这么久的EntityFrameworkCore框架,今天想来就其中的一个部分来做一个知识的梳理,从而使自己对于整个知识有一个更加深入的理解,如果你对EFCore中的实体关系不熟悉你需要有一个知识 ...

  7. Java中的事务及使用

    什么是事务? 事务(Transaction),一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如S ...

  8. PAT(B) 1031 查验身份证(Java)

    题目链接:1031 查验身份证 (15 point(s)) 题目描述 一个合法的身份证号码由17位地区.日期编号和顺序编号加1位校验码组成.校验码的计算规则如下: 首先对前17位数字加权求和,权重分配 ...

  9. WUSTOJ 1335: Similar Word(Java)

    题目链接:1335: Similar Word Description It was a crummy day for Lur. He failed to pass to the CET-6 (Col ...

  10. WUSTOJ 1311: 开心的金明(Java)动态规划-01背包

    题目链接: