zoukankan      html  css  js  c++  java
  • 10mybatis简介

    MyBatis简介

    原始jdbc操作复杂(注册驱动、获得连接、获得执行对象、增删改查、释放资源),存在问题:

    • 数据库创建连接、释放连接频繁;
    • sql语句变化多样;
    • 查询操作时,需要手动将结果集中的数据封装到实体中。

    解决方案:

    • 使用数据库连接池;
    • 将sql语句抽取到xml配置文件中;
    • 使用发射、内省等底层技术,自动将实体与表进行属性与字段的自动映射。

    mybatis:

    1. 是一个基于java的持久层框架(DAO层框架),内部封装了jdbc,使开发者只需要关注与sql语句本身;
    2. 通过xml或注解方式配置各种statement;
    3. 采用ORM思想解决了实体和数据库映射的问题。

    快速入门

    步骤:

    1. 添加MyBatis坐标
    2. 创建数据表
    3. 创建实体类
    4. 编写映射文件UserMapper.xml(sql代码)
    5. 编写核心文件SqlMapConfig.xml
    6. 测试

    模块结构:

    module
    	src
    		main
    			java
    				com.domain
    					User.java
    			resources
    				SqlMapConfig.xml (配置文件)
    				UserMapper.xml (配置文件)
    		test
    			java
    				UserMapperTest.java (测试文件)
    

    代码:

    1. 添加MyBatis坐标

      <!--    连接数据库驱动-->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.6</version>
        </dependency>
      <!--    mybatis-->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>3.4.5</version>
        </dependency>
      
    2. 创建数据表

      CREATE TABLE USER(
      id INT PRIMARY KEY AUTO_INCREMENT,
      username VARCHAR(20),
      PASSWORD VARCHAR(20)
      );
      
    3. 创建实体类

      和数据表一致,并且有Getter/Setter/toString方法
      
    4. 编写映射文件userMapper.xml(复制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">
      <mapper namespace="userMapper">
          <select id="findAll" resultType="com.domain.User">
              select * from user
          </select>
      </mapper>
      
    5. 编写核心文件sqlMapConfig.xml(复制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>
      <!--    数据源环境-->
          <environments default="developement">
              <environment id="developement">
                  <transactionManager type="JDBC"></transactionManager>
                  <dataSource type="POOLED">
                      <property name="driver" value="com.mysql.jdbc.Driver"/>
                      <property name="url" value="jdbc:mysql://localhost:3306/db1"/>
                      <property name="username" value="root"/>
                      <property name="password" value="root"/>
                  </dataSource>
              </environment>
          </environments>
      <!--    加载映射文件-->
          <mappers>
              <mapper resource="UserMapper.xml"/>
          </mappers>
      </configuration>
      
    6. 测试

      public class MyBatisTest {
      
          @Test
          public void test1() throws IOException {
              //  获取核心配置文件
              InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
              // 获取session工厂对象
              SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
              // 获得session会话对象
              SqlSession sqlSession = sqlSessionFactory.openSession();
              // 执行操作(参数就是配置文件中的id)
              List<User> userList = sqlSession.selectList("userMapper.findAll");
              System.out.println(userList);
              // 释放资源
              sqlSession.close();
          }
      }
      
  • 相关阅读:
    TERSUS无代码开发(笔记43)-整理可视化元件手册-13文本/字符串处理元件(28个)
    TERSUS无代码开发(笔记42)-整理可视化元件手册-12安全控制元件(9个)
    TERSUS无代码开发(笔记41)-整理可视化元件手册-11数学元件(29个)
    TERSUS无代码开发(笔记40)-整理可视化元件手册-10流程处理元件(4个)
    TERSUS无代码开发(笔记39)-整理可视化元件手册-09显示元件(40个)
    java实现md5加密
    redis的配置文件redis.conf常用配置
    centos7中安装redis出现的问题
    队列
    生产者 和 消费者
  • 原文地址:https://www.cnblogs.com/mingriyingying/p/13639553.html
Copyright © 2011-2022 走看看