zoukankan      html  css  js  c++  java
  • MyBatis 学习笔记(1)

    MyBatis 的基本构成

    SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成 SqlSessionFactory(工厂接口)

    SqlSessionFactory:生成 SqlSession(会话)

    SqlSession:是一个既可以发送 SQL 去执行并返回结果,也可以获取 Mapper 的接口

    SQL Mapper:是由一个 Java 接口和 XML 文件(或注解)构成的,需要给出对应的 SQL 和映射规则。它负责发送 SQL 去执行,并返回结果

    下面列举一个使用的小例子:

    配置文件如下:

    <?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://localhost:3306/demo" />
        <property name="username" value="root" />
        <property name="password" value="root" />
      </properties>
      <settings>
        <setting name="logImpl" value="LOG4J"/>
      </settings>
      <environments default="development">
        <environment id="development">
          <transactionManager type="JDBC"/>
          <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>
        <package name="study.mybatis.mapper" />
      </mappers>
    </configuration>

    SQL Mapper :

    public interface BlogMapper {
        Blog selectBlog(int id);
    }
    <?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="study.mybatis.mapper.BlogMapper">
      <select id="selectBlog" resultType="study.mybatis.po.Blog">
        select * from t_blog where id = #{id}
      </select>
    </mapper>

    Demo :

    public class Demo {
      
    public static void main(String[] args) throws IOException{ InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); BlogMapper mapper = sqlSession.getMapper(BlogMapper.class); Blog blog = mapper.selectBlog(1); System.out.println(blog);
         // 关闭session等 } }
  • 相关阅读:
    lua table的遍历
    代码动态更换MeshRenderer的材质Materials
    随手一记-单例模式写法
    unity UGUI填坑 之 HorizontalLayoutGroup 和 ContentSizeFitter配合使用
    unity 使用OnDrag实现物体旋转
    unity用json和服务器数据交互
    C语言核心技术-C语言概述与开发环境搭建
    Linux系统运维与架构设计-浅谈计算机系统
    Linux系统运维与架构设计-Unix/Linux概述
    Java从0到全栈-Java语言概述与开发环境搭建
  • 原文地址:https://www.cnblogs.com/zawier/p/7904938.html
Copyright © 2011-2022 走看看