mybatis实现图书管理系统

yizhihongxing

下面是关于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日

相关文章

  • bootstrap自定义样式之bootstrap实现侧边导航栏功能

    下面是关于“bootstrap自定义样式之bootstrap实现侧边导航栏功能”的完整攻略: 什么是Bootstrap? Bootstrap是一种流行的CSS框架,可帮助开发人员快速创建响应式网站。它提供了大量的CSS和JavaScript组件,可以轻松添加到你的网站上。它不仅可以帮助节省开发时间,还可以提高网站的可访问性和易用性。 Bootstrap如何实…

    Java 2023年5月30日
    00
  • java网上商城项目第1篇之用户注册模块

    接下来我将详细讲解“Java网上商城项目第1篇之用户注册模块”的完整攻略,包括需求分析、代码实现、使用技巧等,让您轻松掌握。 1. 需求分析 用户注册模块是一个Web应用程序的基础模块之一,一般用于实现用户的注册和登录等操作。在实现用户注册模块时,需要考虑以下需求: 提供用户注册页面,包括用户名、密码、邮箱等信息的输入框。 保证用户的信息安全,包括密码的加密…

    Java 2023年5月20日
    00
  • Sprint Boot @ConditionalOnProperty使用方法详解

    @ConditionalOnProperty是Spring Boot中的一个注解,它用于根据配置属性的值来决定是否启用或禁用某个组件。在使用Spring Boot开发应用程序时,@ConditionalOnProperty是非常有用的。本文将详细介绍@ConditionalOnProperty的作用和使用方法,并提供两个示例说明。 @ConditionalO…

    Java 2023年5月5日
    00
  • Java线程代码的实现方法

    下面是详细讲解“Java线程代码的实现方法”的完整攻略。 一、Java线程实现方法 Java中实现线程的方法主要有两种:继承Thread类和实现Runnable接口。两种方法各有优缺点,以下分别进行介绍。 1. 继承Thread类 继承Thread类是实现Java线程的较为简单的方法。继承Thread类后重写run()方法,将run()方法中需要线程执行的代…

    Java 2023年5月18日
    00
  • Java throw Exception实现异常转换

    Java中的异常处理机制是一项重要的特性。在编写Java程序时,如果由于某些原因导致程序无法正常执行,就会抛出异常。异常分为已检查异常(checked exception)和未检查异常(unchecked exception)。已检查异常在编译期便会被检查出来,程序必须给出异常处理代码;未检查异常则不需要必须捕获和处理,但是可以选择性的进行。 有时候,我们需…

    Java 2023年5月27日
    00
  • 详解关于mybatis-plus中Service和Mapper的分析

    详解关于mybatis-plus中Service和Mapper的分析 什么是mybatis-plus mybatis-plus是MyBatis的增强工具,在MyBatis的基础上扩展了许多实用的功能,使得与数据库的交互变得更加方便快捷。 Mapper和Service的作用 在mybatis-plus中,Mapper的作用与MyBatis中的Mapper相同,…

    Java 2023年5月20日
    00
  • Spring整合mybatis实现过程详解

    下面是“Spring整合mybatis实现过程详解”的完整攻略。 简介 Spring和MyBatis是两个非常流行的Java框架,常常被用来搭建底层的Web应用程序。其中,Spring作为一种IOC容器和AOP框架,可以管理Java中的对象,控制对象之间的依赖关系,以及提供统一的事务管理等功能;而MyBatis则是一种ORM框架,可以将Java对象映射到关系…

    Java 2023年5月19日
    00
  • Java字节码操纵库的作用是什么?

    Java字节码操纵库是指一些Java类库,它们在Java字节码层次上操作Java类的定义和结构。这种操纵方式不涉及源代码,适用于各种Java开发和工具套件。Java字节码操纵库不仅可以读取Java类文件的字节码,而且还可以根据需要修改类的数据和结构信息。Java字节码操纵库的主要用途是生成字节码、动态修改字节码以及分析字节码等。下面将介绍如何使用Java字节…

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