zoukankan      html  css  js  c++  java
  • mybatis 执行流程以及初用错误总结

    mappper 配置文件  头文件:

         1.   <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd">  之前三者写的不一致,有什么config的导致,错误     

      2.  <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">, 之前文件中有这个部分,配置文件中

      namespace 一直在报错,然后查询资料显示:在没有网络的时候需要将上面红色字体删掉就解决,但不知道到底是为什么?

    mybatis 执行流程: 

      public static void main(String[] args){
      //读取配置文件
      System.out.println("hello");
      String resource = "mybatis_config.xml";
      InputStream inputstream;
      try {
      inputstream = Resources.getResourceAsStream(resource);
      //根据配置文件构建sqlsessionfactory
      SqlSessionFactory sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);
      //sqlsessionfactory 构建 sqlsession
      SqlSession sqlsession = sqlsessionfactory.openSession();
      //查询数据,返回结果
      car result = sqlsession.selectOne("config.mapperRequest.findCarById", 1);
      result.show();
      } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      }

    在执行上面红色语句的时候报错,原因是绿色字体写错,selectOneO 方法 的第 一个参数表示映射 SQL 的标识字符串,它由 CustomerMapper .x ml <mapper> 元素的namespace 属性值+<select> 元素的 id 属性值组成;第 个参数表示查询所需要的参数,

    mybatis 基本执行过程:

      public class mybatis_test {
      @Test
      public static void main(String[] args){
      //读取配置文件
      String resource = "mybatis_config.xml";
      InputStream inputstream;
      try {
      inputstream = Resources.getResourceAsStream(resource);
      //根据配置文件构建sqlsessionfactory
      SqlSessionFactory sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);
      //sqlsessionfactory 构建 sqlsession
      SqlSession sqlsession = sqlsessionfactory.openSession();
      //查询数据,返回结果
      int row = sqlsession.delete("config.mapperRequest.deleteCar", 7);
      if(row > 0) {
      System.out.println("删除用户成功");
      }

      //上面执行的操作必须在提交sqlsession提交之后才有效
      sqlsession.commit();
      sqlsession.close();
      } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      }
      }

    执行完sqlsession 之后必须之前 commit close ,否则数据库的执行动作其实都是没有执行的,就像是回滚了

                

  • 相关阅读:
    DateUtil-工具类
    文件上传到服务器
    删除文件以及文件夹
    Git命令<转载 https://www.cnblogs.com/cspku/articles/Git_cmds.html>
    httpd似乎没有在运行,并且正在代理补鞋匠,或者SELinux正在这样做。
    【转载】使用yum安装服务报错:[Errno 14] curl#6
    Cobbler自动化安装部署操作系统
    恢复或重置root密码(Centos7)
    DNS服务器
    Windows Server 2008安装教程
  • 原文地址:https://www.cnblogs.com/helloqiufei/p/10743847.html
Copyright © 2011-2022 走看看