zoukankan      html  css  js  c++  java
  • 01-Mybaties

    1. 搭建环境
    2. 依赖maven创建项目,并将此项目作为父项目导入依赖的jar包
    3. 依据父项目,创建模板,在resources下创建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">
      <!--核心配置文件   sqlconfig-->
      <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/jdbc?useSSL=true&amp;useUniode=true&amp;characterEncoding=UTF-8"/>
                      <property name="username" value="root"/>
                      <property name="password" value="root"/>
                  </dataSource>
              </environment>
          </environments>
          <mappers>
              <mapper resource="
      <mappers>
      <mapper resource="./UserMapper.xml"/>
      </mappers>
      "/> </mappers> </configuration>
    4. 创建一个工具类用于获取SqlSession对象
      package com.neusoft.utils;
      
      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.InputStream;
      
      //工具类    创建SqlSession工厂    生产SqlSession
      public class MybatisUtils {
          private static SqlSessionFactory sqlSessionFactory;
          static{
              try {
      //            使用mybatis获取SqlSessionFactory对象
                  String resource="mybatis-config.xml";
                  InputStream inputStream = null;
                  inputStream = Resources.getResourceAsStream(resource);
                  sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      
      //    获取一个sqlsession对象,用于操作数据库
          public static SqlSession getsqlsession(){
              return sqlSessionFactory.openSession();
      
          }
      
      }
    5. 创建操作数据的接口dao
      public interface UserDao {
          List<User> getUserList();
      }
    6. 编写对应的mapper.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绑定一个对应的dao/mapper接口-->
      <mapper namespace="com.neusoft.dao.UserDao">
          <select id="getUserList" resultType="com.neusoft.entity.User">
          select * from users
        </select>
      </mapper>
    7. 编写测试类
      package com.neusoft.dao;
      
      import com.neusoft.entity.User;
      import com.neusoft.utils.MybatisUtils;
      import org.apache.ibatis.session.SqlSession;
      import org.junit.Test;
      
      import java.util.List;
      
      public class UserDaoTest {
      
          @Test
          public void test(){
              SqlSession sqlsession= MybatisUtils.getsqlsession();
              UserDao mapper= sqlsession.getMapper(UserDao.class);
              List<User> list= mapper.getUserList();
              for (User u:list){
                  System.out.println(u);
              }
      
          }
      }
    8. 注意点
    • namespace的重要性:必须配置namespace,否则xml文件中标签中的操作语句将没有入口,就无法自动映射进对应接口的抽象方法
  • 相关阅读:
    深入理解Guava Cache的refresh和expire刷新机制
    单机、分布式、集群的区别与联系
    理解Word2Vec
    Struts2 XML配置详解
    目标检测中的数据增强方法(附详细代码讲解)
    做笔记就用印象笔记,支持录音做笔记( 附剪藏 插件下载,一键将网页内容保存笔记中进行编辑)
    教你用OpenCV 和 Python给证件照换底色(蓝底 <->红底->白底)
    一招教你如何用Word直接打开PDF进行编辑,无需下载转换软件
    小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练
    小白也能弄懂的目标检测YOLO系列之YOLOV1
  • 原文地址:https://www.cnblogs.com/rongrui/p/13546424.html
Copyright © 2011-2022 走看看