学习mybatis框架的原因

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

一、MyBatis框架的优点:

  1. 与JDBC相比,减少了50%以上的代码量。

  2. MyBatis是最简单的持久化框架,小巧并且简单易学。

  3. MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用。

  4. 提供XML标签,支持编写动态SQL语句。

  5. 提供映射标签,支持对象与数据库的ORM字段关系映射。


mybatis框架使用的缺点

  1. SQL语句的编写工作量较大,尤其是字段多、关联表多时,更是如此,对开发人员编写SQL语句的功底有一定要求。

  2. SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

三、MyBatis框架适用场合:

MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。

对性能的要求很高,或者需求变化较多的项目,如互联网项目,MyBatis将是不错的选择。


2.快速入门
2.1引入依赖
: 要使用mybtis的框架必须在pom文件中引入相关的依赖

完整的pom.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>itcast-parent</artifactId>
        <groupId>cn.itcast.parent</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.itcast</groupId>
    <artifactId>mybatis</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <dependencies>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--单元测试-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
        </dependency>
    </dependencies>
</project>

2.2编写核心配置文件

在src/main/resources下创建mybatis核心配置文件mybatis-config.xml,核心配置文件的名字可以自定义,一般叫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">
<configuration>
    <environments default="test">
        <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/mybatis"/>
                <!-- 指定用户名 -->
                <property name="username" value="root"/>
                <!-- 指定密码 -->
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="UserMapper.xml"></mapper>
    </mappers>
</configuration>
2.3映射文件

里面存放了大量的sql语句; 一旦我们写了映射文件,我们就要在核心配置文件中引入,因为映射文件并不会被加载的进去的;

 <?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">
  <!--映射文件的作用:用来存放sql语句
      namespace:命名空间
  -->
  <mapper namespace="UserMapper">
      <!--select标签:表示一条查询的sql语句
          id属性:sql语句的唯一表示,在同一namespace下唯一,通过namespace+id的形式来调用sql语句
          resultType属性:查询语句的结果类型,此处写的是全路径名
          在select标签中写查询的sql语句:#{id}表示接收参数,如果只有一个参数,参数名随便写
      -->
      <select id="findUserById" resultType="cn.itcast.domain.User">
          select * from tb_user where id = #{id}
      </select>
  </mapper>

然后就可以编写代码进行测试了.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值