• mybatis初始


     MyBatis简介

    1: MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
    2: MyBatis 避免了几乎所有    的 JDBC 代码和手动设置参数以及获取结果集
    3:MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录
    4:Mybatis 是一个 半自动的ORM(Object   Relation  Mapping)框架

    如何下载MyBatis

    1:下载网址

    https://github.com/mybatis/mybatis-3/

    2:github

     

     

    大家可以考虑下为什么要使用mybatis?

    为什么要使用MyBatis? 与现有持久化技术的对比

    1: JDBC
            a:SQL夹在Java代码块中,耦合度高导致硬编码内伤
            b:维护不易,且实际开发需求中有SQL变化,频繁修复的情况多见
            c:部署不易,如果配置和sql都在java代码中,如果要修改配置或者sql不易
    
    
    2:Hibernate和JPA
            ①长难复杂SQL,对于Hibernate而言处理也不容易
            ②内部自动生产的SQL,不容易做特殊优化
            ③基于全映射的全自动框架,大量字段的POJO进行部分映射时比较困难。导致数据库性能下降    
    
    3: MyBatis
        
            ①对开发人员而言,核心sql还是需要自己优化
            ②sql和java编码分开,功能边界清晰,一个专注业务、一个专注数据
            ③:如果是实施部署的情况下,我们的配置都在xml中,而不是在java代码中,那么有利于实施人员部署代码


    也就是使用mybatis会将sql和java代码分开,那样功能界面更清晰,各司其职

    MyBatis HelloWorld

    mybatis的搭建过程

    mybatis搭建过程:
    1、导入jar
    2、创建mybatis的核心(全局)配置文件mybatis-config.xml,并配置
    3、创建映射文件XxxMapper.xml,并配置
    4、创建mapper接口,实现两个绑定:
        (1)接口全限定名要和映射文件的namespace保持一致
        (2)接口中方法名和SQL语句的id保持一致
    5、获取mybatis操作数据库的会话对象SqlSession,通过getMapper()获取接口的动态代理实现类
    6、测试

    1 开发环境的准备(导入所需第三方jar包)

    1) 导入MyBatis框架的jar包、Mysql驱动包、log4jjar

     

    myBatis-3.4.1.jar
    mysql-connector-java-5.1.37-bin.jar
    log4j.jar

     

    2) 导入log4j 的配置文件

     

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
        <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
            <param name="Encoding" value="UTF-8"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) 
    "/>
            </layout>
        </appender>
        <logger name="java.sql">
            <level value="debug"/>
        </logger>
        <logger name="org.apache.ibatis">
            <level value="info"/>
        </logger>
        <root>
            <level value="debug"/>
            <appender-ref ref="STDOUT"/>
        </root>
    </log4j:configuration>
    log4j.xml

     

     

    2:创建所需的数据库和表:(如果已经有了表和数据库就忽略)

    --创建t_mybatis库
    
         create database test_mybatis;
    
    -- 创建user表
    CREATE TABLE USER (
        id INT ( 11 ) PRIMARY KEY auto_increment,
        user_name VARCHAR ( 32 ),
        email VARCHAR ( 32 ),
    gender CHAR ( 1 ) 
    )
    
    insert into user(id,user_name,email,gender) VALUES(null,"老王","1425252@163.com",1)
    创建数据库和表

    3:创建MyBatis的全局配置文件

    1: 如果是使用maven建立的项目可以直接添加项目依赖

    <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis</artifactId>
         <version>x.x.x</version>
    </dependency>

     

     

    2: 如果是非maven的项目可以添加mybatis-config.xml 

     参考MyBatis的官网手册

    <?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="development">  <!--  environments 连接数据库的环境  default代表你使用的数据库  与下面的id相对应-->
            <environment id="development"><!--environment 指设置某个具体的数据库环境  id数据库的唯一标识-->
                <transactionManager type="JDBC"/>
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc://mysql://localhost:3306"/ssm>
                    <property name="username" value="zhao"/>
                    <property name="password" value="123456"/>
                </dataSource>
            </environment>
        </environments>
        <mappers>
            <mapper resource="org/mybatis/example/BlogMapper.xml"/>
        </mappers>
    </configuration>
    简易的mybatis-config.xml

    4: 创建Mybatis的sql映射文件

    参考MyBatis的官方手册

    <?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">
    <mapper namespace="org.mybatis.example.BlogMapper">
        <select id="selectBlog" resultType="Blog">
     select * from Blog where id = #{id}
     </select>
    </mapper>
    mybtis的映射文件XxxMapper.xm

    1: mvn  clean  清除编译的target 环境配置

    .

  • 相关阅读:
    jquery 操作大全
    http获取图片信息
    微信公众号服务号与订阅号有什么区别?
    国际语言代码 Language Code
    vs 2012 未能找到与约束contractName Microsoft.VisualStudio.Utilities...匹配的导出
    SQL Server 获取满足条件的每个条件下的前N条数据
    使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
    Visual Studio 2017 添加引用报错(未能正确加载ReferenceManagerPackage包)
    html之select标签
    jQuery中Ajax的属性设置
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/13995625.html
Copyright © 2020-2023  润新知