Mybatis||Mybatis 框架快速入门示例

Mybaties

mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身, 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。

mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和statement 中sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行 sql 并将结果映射为 java 对象并返回。

采用 ORM 思想解决了实体和数据库映射的问题,对 jdbc 进行了封装,屏蔽了jdbc api 底层访问细节,使我们不用与 jdbc api 打交道,就可以完成对数据库的持久化操作。

为了我们能够更好掌握框架运行的内部过程,并且有更好的体验,下面我们将从自定义 Mybatis 框架开始来学习框架。此时我们将会体验框架从无到有的过程体验,也能够很好的综合前面阶段所学的基础。

Mybaties入门示例--对数据库进行查询

1.建立一个示例项目(maven文件)

2.添加注入依赖

 


    
        org.mybatis
        mybatis
        3.5.2
    
    
        mysql
        mysql-connector-java
        5.1.32
    
    
        junit
        junit
        4.12
    
    
        log4j
        log4j
        1.2.17
    
    
        org.projectlombok
        lombok
        1.18.8
    

3.创建SqlMapConfig.xml数据库连接及映射引用配置

放到类路径下

 




    
    
        
        
            
            
            
            
                
                
                
                
            
        
    
​
    
    
        
    

4.创建配置查询的映射文件

放到类路径下

  




    
    

5.添加日志输出文件

放到类路径下

  

### set log levels ###
log4j.rootLogger = debug,E,INFO,S
​
### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
​
### 输出INFO到日志文件 ###
log4j.appender.INFO = org.apache.log4j.DailyRollingFileAppender
log4j.appender.INFO.File = logs/info.log
log4j.appender.INFO.Append = true
log4j.appender.INFO.Threshold = INFO
log4j.appender.INFO.layout = org.apache.log4j.PatternLayout
log4j.appender.INFO.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
​
### 输出到控制台 ###
log4j.appender.S=org.apache.log4j.ConsoleAppender
log4j.appender.S.layout=org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

6.创建测试类

在test文件夹中创建Test测试类

package test.edu.xalead;
​
import edu.xalead.Channel;
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.apache.ibatis.session.defaults.DefaultSqlSessionFactory;
import org.junit.Test;
​
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
​
public class Test1 {
    /**
     * 测试基本的mybatis用法
     */
    @Test
    public void test1(){
        try {
            //1.读取配置文件
            InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.创建 SqlSessionFactory 的构建者对象
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            //3.创建SqlSessionFactory工厂
            SqlSessionFactory factory = builder.build(in);
            //4.使用 SqlSessionFactory 生产 SqlSession 对象
            SqlSession session = factory.openSession();
            //5.执行查询
            List cs = session.selectList("edu.xalead.Channel.findAll");
            System.out.println(cs);
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
​

注意,我们需要输出的是数据库文件,所以我们需要有对数据库操作的对象,所以,需要补充一个Channel类

7.创建操作对象类(添加lombok依赖)

package edu.xalead;
​
import lombok.Data;
​
@Data
public class Channel {
    private int cid;
    private String cname;
    private String description;
}
​

文件具体类目如下:

  

8.测试结果

 

你可能感兴趣的:(Mybatis,框架快速入门示例,Mybatis札记)