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实现图书管理系统的完整攻略。

阅读剩余 82%

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

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

相关文章

  • Linux 下java jps命令使用解析详解

    Linux 下 java jps 命令使用解析详解 Java 程序在运行的时候,如果需要查看当前 Java 进程,可以使用 jps 命令。本文通过详细介绍各个参数以及示例,帮助用户更好地使用 jps 命令。 为什么要使用 jps 命令 jps 命令用于查看当前 Java 进程的进程 ID (PID) 以及启动类的类名 (fully qualified nam…

    Java 2023年5月26日
    00
  • Spring RestTemplate具体使用详解

    Spring RestTemplate具体使用详解 简介 RestTemplate是Spring提供的专门用于调用Restful风格的Web服务的客户端工具,它封装了底层的HTTP连接以及常用的HTTP请求方法,包括GET、POST、PUT、DELETE等,可以大大简化我们调用Web服务的代码量。 基本用法 使用RestTemplate最基本的用法是通过创建…

    Java 2023年5月20日
    00
  • Java I/O流之打印流详细使用方法教程

    下面就为您详细讲解 Java I/O 流之打印流的详细使用方法教程。 简介 Java 提供了多种 I/O 流来处理输入输出操作,其中打印流(PrintStream 和 PrintWriter)可以方便地格式化输出文本。本文将着重介绍打印流的使用方法。 打印流的创建 创建打印流对象的方式与创建其他 I/O 流类似,通常需要指定输出目标。以下是创建打印流对象的两…

    Java 2023年5月26日
    00
  • Java回调方法详解

    Java回调方法详解 什么是回调方法 在Java中,回调方法指的是通过一个接口将方法传递给另一个对象,使该对象在适当的时间调用该方法。回调方法是一种常见的编程技巧,通常用于事件驱动编程、异步编程以及回调函数和回调机制的实现中。 回调方法的实现需要以下几个步骤: 创建一个接口,接口中定义回调方法的名称和参数; 在其中一个类中实现该接口,并实现回调方法; 在另一…

    Java 2023年5月26日
    00
  • Java8时间api之LocalDate/LocalDateTime的用法详解

    Java8时间API之LocalDate/LocalDateTime的用法详解 Java8提供了全新的时间日期API,提供了更好的灵活性和易用性。其中,LocalDate和LocalDateTime是比较常用的类,下面详细讲解它们的用法。 LocalDate LocalDate是纯日期类,不包含时间。它的使用方式如下: // 获取当前日期 LocalDate…

    Java 2023年5月26日
    00
  • Easyui 关闭jquery-easui tab标签页前触发事件的解决方法

    如果你使用 EasyUI 来构建 Web 应用程序,你或许会遇到这样的情况:在关闭 tab 标签页前需要做一些操作,例如弹出对话框进行确认、保存数据等。那么如何实现 在关闭 EasyUI 的 Tab 标签页前触发事件呢?以下是完整的攻略步骤: 1. 绑定 onBeforeClose 事件 在使用 EasyUI Tabs 的时候,我们可以通过绑定 onBefo…

    Java 2023年6月15日
    00
  • Java中IO流文件读取、写入和复制的实例

    下面是Java中IO流文件读取、写入和复制的实例的完整攻略。 IO流简介 在Java中,输入输出都是通过流(Stream)来实现的,也就是将数据源或者目的地以流的形式组织起来,以字节为基础的流就是字节流,以字符为基础的流就是字符流。在Java中,IO流分为四个抽象类:InputStream、OutputStream、Reader和Writer。 文件读取 J…

    Java 2023年5月20日
    00
  • Java Hibernate中使用HQL语句进行数据库查询的要点解析

    下面是Java Hibernate中使用HQL语句进行数据库查询的要点解析的完整攻略。 1. 理解HQL概念 Hibernate Query Language(HQL)是Java Hibernate框架中的一种查询语言,它类似于SQL但也有一些重要的区别。HQL查询语言将对象映射为关系数据库中的表,并根据对象中的属性进行查询,相比于SQL来说更加面向对象。同…

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