zoukankan      html  css  js  c++  java
  • MyBatis与JDBC的对比

     1 //JDBC的步骤,1.加载驱动。2.获取连接。3.执行sql语句。4.处理结果集。5.关闭资源
     2 Class.forName("com.mysql.jdbc.Driver").newInstance();
     3 Connection conn=DrivateManager.getConnection(url,username,password);
     4 java.sql.PrepareStatement st=conn.prepareStatement(sql);
     5 st.setInt(0,1);
     6 st.execute();
     7 java.sql.ResultSet rs=st.getResultSet();
     8 while(rs.next()){
     9   String resultString=getString(columnname);      
    10 }
    11 //MyBatis的mapper配置文件
    12 <mapper namespace="com.dao.UserMapper">
    13     <select ifd="getList" resulType="user" parameterType="user">
    14         select * from user
    15     </select>
    16 </mapper>
    17 
    18 MyBatis是将JDBC的几行代码分解包装
    19 2,3行:是对数据库的数据源的管理包括事务管理
    20 4,5行:Mybatis通过配置文件来管理Sql以及输入参数的映射
    21 7,8,9行:Mybatis获取返回结果到java对象的映射,也是通过配置文件管理

    补充:

    <?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">
    <!--通过这个配置文件,完成mybatis与数据库的连接  -->
    <configuration>
       <!-- 引入database.properties文件 -->
       <properties resource="database.properties"/>
         <environments default="development">
            <environment id="development">
               <!-- 配置事务管理 ,采用JDBC管理事务-->
               <transactionManager type="JDBC"/>
               <!-- POOLED是mybatis的 数据源 -->
               <!-- JNDI是基于tomcat的数据源 -->
               <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>
          <!-- resource要写成路径 -->
          <mapper resource="com/wu/dao/UserMapper.xml"/>
          <package name=""/>
       </mappers>
    </configuration>

  • 相关阅读:
    css实现导航栏切换动画
    ubuntu系统下mysql重置密码和修改密码操作
    Ubuntu16.04 安装配置nginx,实现多项目管理、负载均衡
    每天一点点之数据结构与算法
    vuex基本使用
    在 npm 中如何用好 registry
    django模板
    skywalking 通过python探针监控Python 微服务应用性能
    Centos7新加磁盘扩容根分区
    python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
  • 原文地址:https://www.cnblogs.com/fifiyong/p/6307693.html
Copyright © 2011-2022 走看看