栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring(3) MyBatis的安装与使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring(3) MyBatis的安装与使用

一、MyBatis的定义:

        MyBatis是一个开源、轻量级的数据持久化框架,是JDBC和Hibernate的替代方案。MyBatis内部封装了JDBC,简化了加载驱动、创建连接、创建statement等繁杂的过程,开发者只需要关注SQL语句本身。

二、MyBatis三个基本要素:
    核心接口和类MyBatis核心配置文件(mybatis-config.xml)SQL映射文件(mapper.xml)
三、代码实例:

        0、准备工作:在本地数据库里新建一张表,建表代码如下所示:

CREATE TABLE `website` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `url` varchar(30) COLLATE utf8_unicode_ci DEFAULT '',
  `age` tinyint(3) unsigned NOT NULL,
  `country` char(3) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `createtime` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

        1、项目目录结构:

         2、在pom.xml中添加项目所需依赖:


    
      junit
      junit
      4.11
      test
    
    
      org.mybatis
      mybatis
      3.5.5
    
    
      mysql
      mysql-connector-java
      8.0.19
    
    
      org.apache.logging.log4j
      log4j-core
      2.17.2
    
    
      log4j
      log4j
      1.2.17
    
  

        3、MyBatis 默认使用 log4j 输出日志信息。在resources下创建log4j.properties,输入如下内容:

# Global logging configuration
log4j.rootLogger=ERROR,stdout
# MyBatis logging configuration...
log4j.logger.net.biancheng=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

        4、配置MyBatis核心配置文件mybatis-config.xml:




    
        
    

    
    
        

            
            

            
            
                

                
                
                
                
            
        
    

    
    
        
    

        5、创建映射文件WebsiteMapper.xml,这里面可以写入CRUD等操作:






    
    
        insert into website
        (name,url,age,country)
        values (#{name},#{url},#{age},#{country})
    

    
    
        select * from website
    

        6、在po文件夹下新建持久化类Website.java:

package org.caoze.po;

import java.util.Date;

//持久化类
public class Website {
    private int id;
    private String name;
    private String url;
    private int age;
    private String country;
    private Date createtime;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    @Override
    public String toString() {
        return "Website{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", url='" + url + ''' +
                ", age=" + age +
                ", country='" + country + ''' +
                ", createtime=" + createtime +
                '}';
    }
}

        7、新建测试文件Test.java:

package org.caoze.Test;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.caoze.po.Website;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class Test {
    public static void main(String[] args) throws IOException {
        //读取配置文件mybatis-config.xml
        InputStream config = Resources.getResourceAsStream("mybatis-config.xml");
        //根据配置文件构建SqlSessionFactory
        SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(config);
        //通过SqlSessionFactory创建SqlSession
        SqlSession ss = ssf.openSession();

        //Sqlsession执行文件中定义的SQl,并返回映射结果
        //添加网站
        Website website = new Website();
        website.setName("张三");
        website.setUrl("www.baidu.com");
        website.setAge(18);
        website.setCountry("CN");
        ss.insert("mapper.WebsiteMapper.addWebsite", website);

        //查询所有网站
        List listweb = ss.selectList("mapper.WebsiteMapper.selectAllWebiste");
        for (Website site: listweb){
            System.out.println(site);
        }

        //提交事务
        ss.commit();

        //关闭SqlSession
        ss.close();
    }
}

        8、点击运行,运行结果如下所示:

 四、总结

        由上述过程可以看出一个基本的Mybatis运行需要以下步骤:

        1、创建配置文件。在配置文件中配置mybatis的运行环境,其中最基本的有数据库驱动,连接数据库所需的账号密码,映射文件所在位置等信息。

        2、创建映射文件。这是最重要最复杂的地方,映射文件中有CRUD等相关操作。(日后学习再来补充)。

        3、创建持久化类。持久化,是将程序数据在持久状态和瞬时状态间转化的机制,即将瞬时数据(如内存中的数据)持久化为持久数据(持久化进数据库中,能够长久保存)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/781935.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号