MyBatis入门及环境搭建

简介: MyBatis入门及环境搭建

1.什么是MyBatis

MyBatis是一个开源的持久层框架,它帮助我们简化了数据库操作的代码。与传统的JDBC相比,MyBatis使用XML或注解的方式来描述 SQL 语句和映射关系,使得开发人员可以专注于业务逻辑而不用花太多精力在 SQL 上。

2.MyBatis的优势与特点

灵活性:MyBatis支持自定义SQL查询,可以灵活地编写和调整SQL语句,满足各种需求。

易于学习和使用:MyBatis的配置简单明了,不需要过多的学习成本即可上手使用。

性能高效:MyBatis采用动态SQL生成机制,可以根据不同条件生成不同的SQL查询语句,提高性能。

可扩展性强:MyBatis支持插件机制,可以对底层进行灵活的扩展和定制。

1.3 环境搭建准备工作

在开始使用MyBatis之前,需要确保以下环境已经准备好:

JDK安装并配置好环境变量

Maven或Gradle构建工具

IDE(如IntelliJ IDEA、Eclipse等)

3. 下载与安装MyBatis

访问MyBatis官方网站,下载最新版本的MyBatis压缩包,并解压到指定目录。或者使用插件进行使用

这里我使用的是插件

4. 配置MyBatis的核心文件

配置数据库连接信息:在jdbc.properites文件中配置数据库连接信息,包括驱动类、URL、用户名和密码等。

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://47.100.191.44:3308/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
jdbc.username=test01
jdbc.password=test01

配置Mapper文件路径:在mybatis-config.xml文件中添加Mapper文件的扫描路径,告诉MyBatis去哪里找Mapper接口对应的XML文件。

<?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>
    <!-- 引入外部配置文件 -->
    <properties resource="jdbc.properties"/>
    <settings>
        <setting name="logImpl" value="LOG4J2"/>
    </settings>
    <!-- 别名 -->
    <typeAliases>
        <!--<typeAlias type="com.javaxl.model.Book" alias="Book"/>-->
    </typeAliases>
    <!-- 配置mybatis运行环境 -->
    <environments default="development">
        <environment id="development">
            <!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
            <transactionManager type="jdbc"/>
            <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
            <!-- POOLED 表示支持JDBC数据源连接池 -->
            <!-- UNPOOLED 表示不支持数据源连接池 -->
            <!-- JNDI 表示支持外部数据源连接池 -->
            <dataSource type="POOLED">
                <property name="driver"
                          value="${jdbc.driver}"/>
                <property name="url"
                          value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/niyin/mapper/BookMapper.xml"/>
    </mappers>
</configuration>

6. 测试MyBatis是否成功搭建

编写一个简单的Java程序,使用MyBatis查询数据库并输出结果,验证MyBatis环境是否搭建成功。

biz

package com.niyin.biz;
import com.niyin.model.Book;
public interface BookBiz {
    int deleteByPrimaryKey(Integer bid);
    int insert(Book record);
    int insertSelective(Book record);
    Book selectByPrimaryKey(Integer bid);
    int updateByPrimaryKeySelective(Book record);
    int updateByPrimaryKey(Book record);
}

impl

package com.niyin.biz.impl;
import com.niyin.biz.BookBiz;
import com.niyin.mapper.BookMapper;
import com.niyin.model.Book;
public class BookBizimpl implements BookBiz {
    private BookMapper bookMapper;
    public BookMapper getBookMapper() {
        return bookMapper;
    }
    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }
    @Override
    public int deleteByPrimaryKey(Integer bid) {
        return bookMapper.deleteByPrimaryKey(bid);
    }
    @Override
    public int insert(Book record) {
        return bookMapper.insert(record);
    }
    @Override
    public int insertSelective(Book record) {
        return bookMapper.insertSelective(record);
    }
    @Override
    public Book selectByPrimaryKey(Integer bid) {
        return bookMapper.selectByPrimaryKey(bid);
    }
    @Override
    public int updateByPrimaryKeySelective(Book record) {
        return bookMapper.updateByPrimaryKeySelective(record);
    }
    @Override
    public int updateByPrimaryKey(Book record) {
        return bookMapper.updateByPrimaryKey(record);
    }
}

ultis

package com.niyin.utils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SessionUtil {
    private static SqlSessionFactory sessionFactory;
    private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();
    static {
        sessionFactory = new SqlSessionFactoryBuilder().build(SessionUtil.class.getResourceAsStream("/mybatis.cfg.xml"));
    }
    public static SqlSession openSession() {
        SqlSession session = threadLocal.get();
        if (null == session) {
            session = sessionFactory.openSession();
            threadLocal.set(session);
        }
        return session;
    }
    public static void main(String[] args) {
        SqlSession session = openSession();
        System.out.println(session.getConnection());
        session.close();
//        System.out.println(session.getConnection());
    }
}

7. MyBatis的删查测试mybatis

demo1

用于测试删除和查询

package com.niyin.demo;
import com.niyin.biz.BookBiz;
import com.niyin.biz.impl.BookBizimpl;
import com.niyin.mapper.BookMapper;
import com.niyin.model.Book;
import com.niyin.utils.SessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.text.Bidi;
public class demo1 {
    private SqlSession sqlSession;
    private BookBiz bookBiz;
    @Before
    public  void a(){
        System.out.println("执行测试之前会执行的初始化代码");
        sqlSession= SessionUtil.openSession();
        BookBizimpl bookBiz=new BookBizimpl();
        BookMapper mapper = sqlSession.getMapper(BookMapper.class);
        bookBiz.setBookMapper(mapper);
        this.bookBiz=bookBiz;
    };
@After
public void b(){
    System.out.println("执行测试之后会执行");
    sqlSession.commit(true);
}
    @Test
    public void test1(){
        System.out.println("测试方法");
        Book book = bookBiz.selectByPrimaryKey(35);
        System.out.println(book);
    };
@Test
    public void test2(){
    int i = bookBiz.deleteByPrimaryKey(35);
    System.out.println(i);
};
}

以上是关于MyBatis入门及环境搭建以及增删改查操作的简要介绍和扩展内容。通过学习和实践这些基本操作,可以更好地利用MyBatis进行数据库操作,提高开发效率。希望对你有所帮助!

目录
相关文章
|
2月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
536 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
6月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
106 6
|
2月前
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
52 0
Mybatis入门(select标签)
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
4月前
|
SQL Java 数据库连接
Spring Boot联手MyBatis,打造开发利器:从入门到精通,实战教程带你飞越编程高峰!
【8月更文挑战第29天】Spring Boot与MyBatis分别是Java快速开发和持久层框架的优秀代表。本文通过整合Spring Boot与MyBatis,展示了如何在项目中添加相关依赖、配置数据源及MyBatis,并通过实战示例介绍了实体类、Mapper接口及Controller的创建过程。通过本文,你将学会如何利用这两款工具提高开发效率,实现数据的增删查改等复杂操作,为实际项目开发提供有力支持。
291 0
|
6月前
|
Java 关系型数据库 数据库连接
技术好文共享:第一讲mybatis入门知识
技术好文共享:第一讲mybatis入门知识
39 6
|
6月前
|
Java 关系型数据库 MySQL
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
56 4
|
6月前
|
Java 程序员
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
55 1
|
6月前
|
Java 数据库连接 数据库
Spring日志完结篇,MyBatis操作数据库(入门)
Spring日志完结篇,MyBatis操作数据库(入门)
|
6月前
|
SQL Java 数据库连接
Mybatis Plus入门
Mybatis Plus入门