MyBatis框架

MyBatis是什么?

mybatis是基于JDBC的一种在Java中实现数据库操作的框架:

mybatis是:MyBatis 的主要思想是将程序中的大量 SQL 语句剥离出来,使用 XML 文件或注解的方式实现 SQL 的灵活配置,将 SQL 语句与程序代码分离,在不修改 程序代码的情况下,直接在配置文件中修改 SQL 语句。 MyBatis 与其它持久性框架最大的不同是, MyBatis 强调使用 SQL ,而其它框架(例如 Hibernate )通常使用自定义查询语言,即 HQL ( Hibernate 查询语言)或 EJB QL ( Enterprise JavaBeans 查询语言)。

优点:MyBatis 是免费且开源的。 与 JDBC 相比,减少了 50% 以上的代码量。 MyBatis 是最简单的持久化框架,体积小巧并且学习门槛低。 MyBatis 相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL 写在 XML 中,和程序逻辑代码分 离,降低耦合度,便于同一管理和优化,提高了代码的可重用性。 提供 XML 标签,支持编写动态 SQL 语句。 提供映射标签,支持实体对象与数据库的表字段关系映射。

缺点:编写 SQL 语句工作量较大,对开发人员编写 SQL 语句的功底有一定要求。 SQL 语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

使用mybatis需要导入相关架包:

官网地址:https://github.com/mybatis/mybatis-3/releases

MyBatis框架_第1张图片

 导入相关包后:

准备工作:

创建数据库:

DROP TABLE IF EXISTS `website`;

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;

、创建映射文件:





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

创建实体类:

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;
    
    @Override
	public String toString() {
		return "Website [id=" + id + ", name=" + name + ", url=" + url + ", age=" + age + ", country=" + country
				+ ", createtime=" + createtime + "]";
	}
}

配置日志文件:

MyBatis 默认使用 log4j 输出日志信息,如果开发者需要查看控制台输出的 SQL 语句,可以在 classpath 路径下配置其日志文件。在 mybatisDemo 的 src 目录下创建 log4j.properties 文件,其内容如下:

# Global logging configuration
log4j.rootLogger=ERROR,stdout

# MyBatis logging configuration...
log4j.logger.com.apesource=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

 

配置核心文件:




    
        
      
    
  
    
    
        
            
            
            
                
                
                
                
                
                
            
        
    
  
    
    
        
    

 

在测试类中进行操作:

使用步骤:

MyBatis框架_第2张图片

1 、首先,获取 SqlSessionFactoryBuilder 对象,可以根据 XML 配置文件或者 Configuration 类的实例构建 该对象。

2 、其次,通过 SqlSessionFactoryBuilder 对象来获取 SqlSessionFactory 对象。

3、 最后,获取 SqlSessionFactory 对象之后,就可以进一步获取 SqlSession 实例。 SqlSession 对象中完全 包含以数据库为背景的所有执行 SQL 操作的方法,用该实例可以直接执行已映射的 SQL 语句。

 

 

你可能感兴趣的:(mybatis,java,spring)