IEDA入门MyBatis

0.前言

  MyBatis是一个持久层的框架,可以将业务数据储存到磁盘,一般执行持久任务的都是数据库系统。我的理解是MyBatis是用来连接java程序和数据库的一个中间桥梁,相当于JDBC的作用。它只需要编写一个接口和xml就可以完成数据库访问工作,大大的简化了开发量。

1.环境搭建

1.首先创建maven工程点击下一步
在这里插入图片描述

在这里插入图片描述
记得打包方式改成jar包
在这里插入图片描述
然后导入3个jar包。mybatis,log4j的日志包,mysql的驱动
在这里插入图片描述
然后创建log4j.xml文件放在resources文件目录下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">

<log4j:configuration debug="true">
 <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) \n" />
   </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>

2.创建接口和实体

package com.alu4r.mybatis;

public interface StudentMapper {
	//根据id获取实体
    Student getStudent(Integer id);
}
public class Student {
    Integer id;
    String name;
    Integer age;
    String classNumber;

    public Student() {
    }

    public Student(Integer id, String name, Integer age, String classNumber) {
       .......
    }
	......
    get、set方法
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", classNumber='" + classNumber + '\'' +
                '}';
    }
}

3.全局配置文件

  MyBatis的官方文档在这里,里面也有相应的解释。首先在resources中创建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">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!--JDBC相关的配置-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <!--用于加载映射文件-->
    <mappers>
        <mapper resource="Student-Mapper.xml"/>
    </mappers>
</configuration>

4.映射文件

映射文件主要是用来写sql的,他和jdbc代码相比会省去很多的代码。在官方文档中有详细的解释。主要有以下功能:
在这里插入图片描述
在resources目录中创建Student-Mapper.xml文件,在全局配置文件中也加载了这个文件。

<?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="com.alu4r.mybatis.StudentMapper">
    <select id="getStudent" resultType="com.alu4r.mybatis.Student">
        select * from student where id = #{id}
  </select>
</mapper>

5.测试

public class MyBatisTest {
    public static void main(String[] args) throws IOException {
        //创建配置文件的输入流
        InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
        //根据输入流获取 SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();
        try {
            StudentMapper mapper = session.getMapper(StudentMapper.class);
            Student student = mapper.getStudent(1);
            System.out.println(student.toString());
        } finally {
            session.close();
        }
    }
}

mybatis测试结果

6.结束语

  本文主要讲mybatis的最基本使用,helloworld级别,对mybatis有个大体印象。
不对之处请多指教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值