MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)

目录

 

一、依赖库

一、  首先,导入jar包,通过库依赖方式导入,将依赖加入到pom.xml中的

dependencies标签之间(jar包版本选自己适用的即可)

1、导入MyBatis   jar 包,其库依赖:

2、导入jadc jar包,其库依赖为:

3、导入测试jar包 junit(测试用)

4、导入日志jar包,(显示日志用)

二、我的数据库测试用表,表名为user

一、属性

二、其值

三、手动创建 接口类、实体类

一、创建接口类

在包com.test.dao下面创建一个接口类Student,如图:

二、创建实体类

在包com.test.domain下创建实体类SaveStudent

四、在resources下创建资源文件

一、资源文件的目录如图:

二、在resources下的com.test.dao包中创建执行SQL的xml文件,名为Student

三、在resources下创建配置文件batis_config

四、配置一个日志文件log4j.properties(本人较菜,直接复制的)

五、创建一个测试类

在包com.test.service中创建测试类,TestMybatis

六、执行结果(截取有结果的部分)

七、若是执行插入操作

一、在Student接口类中写入

二、在执行文件的xml中添加SQL语句,直接放在Student的xml文件中的mapper标签中

三、在一个方法中进行测试(加载文件的前五步放到了全局中去,此处省略了)

四、结果


一、依赖库

一、  首先,导入jar包,通过库依赖方式导入,将依赖加入到pom.xml中的

dependencies标签之间(jar包版本选自己适用的即可)

1、导入MyBatis   jar 包,其库依赖:


            org.mybatis
            mybatis
            3.5.0
        

2、导入jadc jar包,其库依赖为:



            mysql

            mysql-connector-java

            5.1.25
 

3、导入测试jar包 junit(测试用)


            junit
            junit
            4.10
        

4、导入日志jar包,(显示日志用)


            log4j
            log4j
            1.2.13
        

二、我的数据库测试用表,表名为user

一、属性

二、其值

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第1张图片

三、手动创建 接口类、实体类

一、创建接口类

在包com.test.dao下面创建一个接口类Student,如图:

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第2张图片

二、创建实体类

在包com.test.domain下创建实体类SaveStudent

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第3张图片

四、在resources下创建资源文件

一、资源文件的目录如图:

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第4张图片

二、在resources下的com.test.dao包中创建执行SQL的xml文件,名为Student

<中文部分为自己手动添加注释,删除即可>



<这两行为MyBatis的约束,有了这个,就可以是别MyBatis中的标签,可以直接复制>



    



三、在resources下创建配置文件batis_config






    
    
        
        
            
            
            
            
            

                
                
                
                

                

                
            
        
    

    
    

        
    

四、配置一个日志文件log4j.properties(本人较菜,直接复制的)

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n
#在倒数第四五行左右,d:\axis.log,表示在此盘下创建一个日志文件

五、创建一个测试类

在包com.test.service中创建测试类,TestMybatis

package com.test.service;

import com.test.dao.Student;
import com.test.domain.SaveStudent;
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.junit.Test;

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

public class TestMybatis {
    @Test
    public void testFindAll(){
        try {
            // 1.读取配置文件
            InputStream resourceAsStream = Resources.getResourceAsStream("batis_config");
            // 2.构建者模式:创建构建者对象SqlSessionFactoryBuilder
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            // 3.使用构建者创建工厂对象SqlSessionFactory
            SqlSessionFactory build = builder.build(resourceAsStream);
            // 4.使用SqlSessionFactory生产SqlSession对象
            SqlSession sqlSession = build.openSession();
            // 5. 使用SqlSession创建dao接口的代理对象
            Student mapper = sqlSession.getMapper(Student.class);

            // 6.使用代理对象执行查询所有方法
            List allStudent = mapper.selectAllStudent();
            // 7.遍历结果
            for (SaveStudent student : allStudent){
                System.out.println(student.getId()+" "+student.getName());
            }

            // 8.释放资源
            resourceAsStream.close();
            sqlSession.close();



        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

六、执行结果(截取有结果的部分)

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第5张图片

七、若是执行插入操作

一、在Student接口类中写入

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第6张图片

二、在执行文件的xml中添加SQL语句,直接放在Student的xml文件中的mapper标签中

解释:id同样为Student接口中方法的名字,


        insert into user(id,name)
        values(#{id},#{name})
    

三、在一个方法中进行测试(加载文件的前五步放到了全局中去,此处省略了)

 //插入表user
    @Test
    public void insertUser(){
        SaveStudent saveStudent=new SaveStudent();
        saveStudent.setId("000000");
        saveStudent.setName("000000");
        int count=mapper.insertus(saveStudent);
        System.out.println(count);
    }

四、结果

这是运行后的日志文件,Updates这个是表示一条记录以更新

MyBatis-(1)初次尝试(编译器idea,maven工程,数据库mysql)_第7张图片

可以看到一条数据已经插入成功

你可能感兴趣的:(小白学习java框架)