mybatis实现图书管理系统

下面是关于mybatis实现图书管理系统的完整攻略。

1.准备工作

1.1 引入mybatis依赖

在项目的pom.xml中添加以下代码,引入mybatis依赖:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>

1.2 配置mybatis

在src/main/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"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/book_manage"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!--配置mapper-->
    <mappers>
        <mapper resource="mapper/BookMapper.xml"/>
    </mappers>
</configuration>

1.3 创建实体类

创建Book.java类,示例如下:

public class Book {
    private int id;
    private String name;
    private String author;
    private float price;

    //构造方法
    public Book() {
    }

    public Book(int id, String name, String author, float price) {
        this.id = id;
        this.name = name;
        this.author = author;
        this.price = price;
    }

    //get和set方法
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }
}

1.4 创建mapper接口

创建BookMapper.java接口,用于定义与数据库交互的方法,示例如下:

public interface BookMapper {
    void insert(Book book);
    void delete(int id);
    void update(Book book);
    Book findById(int id);
    List<Book> findAll();
}

1.5 编写mapper.xml文件

创建BookMapper.xml文件,配置与数据库交互的SQL语句,示例如下:

<?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.example.demo.mapper.BookMapper">

    <!-- 插入操作 -->
    <insert id="insert" parameterType="com.example.demo.entity.Book">
        INSERT INTO book(name, author, price) VALUES(
        #{name},
        #{author},
        #{price}
        )
    </insert>

    <!-- 删除操作 -->
    <delete id="delete" parameterType="int">
        DELETE FROM book WHERE id = #{id}
    </delete>

    <!-- 修改操作 -->
    <update id="update" parameterType="com.example.demo.entity.Book">
        UPDATE book SET
        name = #{name},
        author = #{author},
        price = #{price}
        WHERE id = #{id}
    </update>

    <!-- 根据id查找操作 -->
    <select id="findById" parameterType="int" resultType="com.example.demo.entity.Book">
        SELECT * FROM book WHERE id = #{id}
    </select>

    <!-- 查找所有操作 -->
    <select id="findAll" resultType="com.example.demo.entity.Book">
        SELECT * FROM book
    </select>

</mapper>

2.实现功能

2.1 实现添加图书

BookMapper接口中定义insert方法,实现添加图书的逻辑:

public interface BookMapper {
    void insert(Book book);
    //...
}

BookMapper.xml文件中实现SQL语句:

<insert id="insert" parameterType="com.example.demo.entity.Book">
    INSERT INTO book(name, author, price) VALUES(
    #{name},
    #{author},
    #{price}
    )
</insert>

在代码中调用insert方法即可完成添加图书的操作:

//创建book对象
Book book = new Book(0, "JavaWeb开发", "张三", 68.8f);
//调用insert方法
bookMapper.insert(book);

2.2 实现删除图书

BookMapper接口中定义delete方法,实现删除图书的逻辑:

public interface BookMapper {
    //...
    void delete(int id);
}

BookMapper.xml文件中实现SQL语句:

<delete id="delete" parameterType="int">
    DELETE FROM book WHERE id = #{id}
</delete>

在代码中调用delete方法即可完成删除图书的操作:

//调用delete方法
bookMapper.delete(1);

2.3 实现修改图书

BookMapper接口中定义update方法,实现修改图书的逻辑:

public interface BookMapper {
    //...
    void update(Book book);
}

BookMapper.xml文件中实现SQL语句:

<update id="update" parameterType="com.example.demo.entity.Book">
    UPDATE book SET
    name = #{name},
    author = #{author},
    price = #{price}
    WHERE id = #{id}
</update>

在代码中调用update方法即可完成修改图书的操作:

//创建book对象
Book book = new Book(1, "JavaWeb开发", "张三", 88.8f);
//调用update方法
bookMapper.update(book);

2.4 实现查找图书

BookMapper接口中定义findByIdfindAll方法,实现查找图书的逻辑:

public interface BookMapper {
    //...
    Book findById(int id);
    List<Book> findAll();
}

BookMapper.xml文件中实现SQL语句:

<select id="findById" parameterType="int" resultType="com.example.demo.entity.Book">
    SELECT * FROM book WHERE id = #{id}
</select>

<select id="findAll" resultType="com.example.demo.entity.Book">
    SELECT * FROM book
</select>

在代码中调用findByIdfindAll方法即可完成查找图书的操作:

//根据id查找图书
Book book = bookMapper.findById(1);
System.out.println(book);

//查找所有图书
List<Book> bookList = bookMapper.findAll();
for (Book b : bookList) {
    System.out.println(b);
}

至此,以上即是mybatis实现图书管理系统的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis实现图书管理系统 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • IDEA的下载和使用安装详细图文教程

    IDEA的下载和安装 下载 前往IntelliJ IDEA官网(https://www.jetbrains.com/idea/),下载适合自己操作系统的版本。 安装 双击安装包,选择语言后点击”Next”。 选择安装路径,如果不设置,则默认在Program Files(x86)路径下创建一个JetBrains的文件夹。 可以选择创建桌面图标以及启动菜单等选项…

    Java 2023年6月15日
    00
  • 体验Java 1.5中面向(AOP)编程

    下面是详细讲解“体验Java 1.5中面向(AOP)编程”的完整攻略。 背景 在Java 1.5中引入了注解和泛型等新特性,同时也提供了对面向切面编程(AOP)的支持,使得在Java中实现AOP变得更加容易和灵活。 AOP介绍 AOP是一种编程思想,将程序中的各种横向逻辑(如日志、权限控制、事务管理等)提取出来,形成切面,通过将切面和业务逻辑进行织入,实现了…

    Java 2023年6月15日
    00
  • Mybatis中 XML配置详解

    接下来我将为大家详细讲解Mybatis中XML配置的详细攻略。 Mybatis中 XML配置详解 在Mybatis框架中,配置文件主要用于描述连接池、事务、日志等全局性配置信息,同时还描述Mybatis的具体操作接口以及实现类的映射关系。Mybatis中的配置文件主要包含两种:一是mybatis-config.xml,用于描述全局性配置信息;二是映射配置文件…

    Java 2023年5月19日
    00
  • Spring注解驱动之ApplicationListener用法解读

    下面我来详细讲解 Spring 注解驱动中的 ApplicationListener 用法。首先需要了解的是,Spring 中的 ApplicationListener 是一个事件监听器,可以监听 Spring 容器中的各种事件,并在事件发生时自动作出相应的处理,比如记录日志、发送邮件等等。ApplicationListener 的用法包括两个步骤:创建监听…

    Java 2023年5月19日
    00
  • Java多线程之Semaphore实现信号灯

    现在我来讲解一下”Java多线程之Semaphore实现信号灯”的完整攻略。在Java多线程编程中,Semaphore可以用来控制多个线程需要访问的资源的数量,Semaphore允许多个线程同时访问某一个资源,但需要限制其同时访问的数量。 Semaphore的基本用法 Semaphore的构造方法: public Semaphore(int permits)…

    Java 2023年5月18日
    00
  • PHP生成随机码的思路与方法实例探索

    PHP生成随机码的思路与方法实例探索 前言 在实际开发中,我们常常需要用到随机码,比如生成验证码、生成邀请码等等。PHP提供了多种方法可以生成随机码,本文将对几种常用的方法进行探究和讲解。 常用随机码生成方法 1. rand函数 rand($min, $max) 函数可以用来生成指定范围内的随机整数。 $code = rand(100000, 999999)…

    Java 2023年5月26日
    00
  • mybatis-plus团队新作mybatis-mate实现数据权限

    下面我简单讲解一下 “mybatis-plus团队新作mybatis-mate实现数据权限” 的完整攻略。 1. 简介 mybatis-mate 是 mybatis-plus 团队新推出的一个框架,它可以帮助我们更方便地实现数据权限控制。通过使用 mybatis-mate,我们可以很容易地设置数据过滤规则,以保证用户只能看到他们有权限访问的数据。 2. 实现…

    Java 2023年5月20日
    00
  • java 格式化输出数字的方法

    当我们用Java编写程序时,经常需要将数字以指定格式输出。Java中提供了一些方法来格式化输出数字,这些方法包括使用String.format()和System.out.printf()等。 使用String.format()方法 使用String.format()方法可以使代码更简洁,通常使用以下的语法格式: String formattedString …

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部