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>

时间: 2024-10-14 13:07:23

MyBatis与JDBC的对比的相关文章

一起了解Hibernate与Mybatis的区别优缺点对比

hibernate与mybatis的区别优缺点对比 前言: 我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hi

MyBatis+Hibernate+JDBC对比分析

MyBatis目前作为持久层,用的最多,因为它符合互联网开发的变动性,实际开发中需求总会有这样的,那样的变动,MyBatis虽然没有Hibernate那么全自动化,而且对于开发人员的sql能力要求比较高,但是正是因为这样sql可以优化,业务也更容易扩展. hibernate对于sql能力不是特别强的开发人员,是一个很好的利器,而且hibernate更面向对象,hibernate不适合开发高并发高访问量的应用,很简单不能sql优化,每次查询基本都要全表扫描,即便是有hql,但是过多的使用hql,反

深入浅出MyBatis:JDBC和MyBatis介绍

最近在休陪产假,时间比较零碎,准备看2本书充实下,一本是「深入浅出MyBatis:技术原理与实践」,一本是「RabbitMQ实战:高效部署分布式消息队列」,为了加深记忆和理解,会进行整理.扩展和记录. 看书的目标不是把所有的细节都记住,而是从整体上了解一个技术能做什么,包含的特性.基本模块,实现原理和常见使用场景. 本篇分享MyBatis书籍的第一篇,首先回忆下JDBC的相关概念,了解Java提供的访问数据库最基本的方式,然后介绍下MyBatis的基本特性和核心组件,最后说下书的整体结构,了解后

一、Mybatis与JDBC的区别

1.什么是MyBatis? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github. iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO). MyB

Spring Data JPA、 MyBatis与Hibernate简单对比

整体参考: https://blog.csdn.net/xihuanyuye/article/details/81201441 详细参考: https://blog.csdn.net/qq897958555/article/details/53208002 1.Spring Data JPA与Hibernate Spring Data JPA是Spring Data的子模块.使用Spring Data,使得基于“repositories”概念的JPA实现更简单和容易.Spring Data JP

MyBatis知多少(17)MyBatis和JDBC

有了MyBatis,就不再需要编写JDBC代码了.像JDBCT这样的API的确非常强大,但使用起来总不免觉得太过繁琐.代码清单给出了一个使用JDBC的示例. 从这个例子中很容易看出,JDBC API会产生许多额外的开销.尽管如此,每一行代码又都是必不可少的,所以要减少代码量还真不是一件容易的事情.最多也只不过是将其中的一些代码 挪到某个实用方法中,最明显的就是那些关闭资源(如PreparedStatement和 ResultSet)的代码. 其实,如果使用MyBatis,MyBatis在后台也是

MyBatis通过JDBC生成的执行语句问题

我们编程的过程中大部分使用了很出色的ORM框架,例如:MyBatis,Hibernate,SpringJDBC,但是这些都离不开数据驱动JDBC的支持.虽然使用起来很方便,但是碰到一些问题确实很棘手,就比如困扰我一宿没睡好觉的问题,jdbc生成执行数据,具体的我们看一下. 通常我们用MyBatis框架来操作关系型数据库,基本的也就是crud操作.目前公司使用的是SqlServer数据库,但是我在进行更新操作的时候出现一个问题,具体情况如下: mapper.xml内容: 1 <update id=

Mybatis和JDBC区别

今天面试中问了这个问题,当时答的不好,现在整理一下. JDBC是Java提供的一个操作数据库的API: MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. MyBatis是对JDBC的封装.相对于JDBC,MyBat

Mybatis、JDBC、Habernate、Mybatis+Spring的Mysql数据库操作实例

1.数据库操作实例: public static void JDBCTest() throws Exception { Connection conn = null; String url = "jdbc:mysql://localhost:3306/mysql_learn?" + "user=root&password=123qwe&useUnicode=true&characterEncoding=utf8"; String select