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日

相关文章

  • Java二叉树的四种遍历方式详解

    Java二叉树的四种遍历方式详解 二叉树是一种常见的数据结构,在Java中也有很多实现方式。对二叉树进行遍历是必不可少的操作,Java提供了四种不同的遍历方式,这篇文章会详细讲解这四种方法,以及对应的代码实现和示例说明。 什么是二叉树 二叉树是一种树结构,其每个结点最多只有两个子节点。其中一个为左子节点,一个为右子节点。 每个结点都由三部分组成:一个数据域、…

    Java 2023年5月19日
    00
  • Java Maven高级之插件开发详解

    Java Maven高级之插件开发详解 什么是Maven插件 Maven插件是Maven框架中的一种机制,它通过扩展Maven的功能来满足个性化的需求。本质上,Maven插件就是一个打包好的jar包,它定义了自己的goal,当我们执行Maven命令时,可以通过指定goal来触发插件的执行。 Maven插件的类型 Maven插件可以分为两种:build插件和r…

    Java 2023年5月20日
    00
  • Android实现与Apache Tomcat服务器数据交互(MySql数据库)

    接下来我将详细讲解“Android实现与Apache Tomcat服务器数据交互(MySql数据库)”的完整攻略。 1. 确定需要的框架和工具 在实现Android与Apache Tomcat服务器数据交互(MySql数据库)之前,你需要明确需要的框架和工具。例如: Android Studio:用于开发Android应用程序; Apache Tomcat:…

    Java 2023年5月19日
    00
  • 2023年4月21日-关于远程feign调用实现文件上传下载

    一、客户需求:做一个查询程序,客户提供一个excel模板,将查询结果保存到excel模板中,上传到文件服务,供客户下载使用。 二、代码实现 // 服务A,文件上传 @ApiOperation(“上传文件-demo”) @PostMapping(value = “/uploadDemo/{busType}/{billId}”) public ResBean u…

    Java 2023年4月22日
    00
  • java读写ini文件、FileOutputStream问题

    要在Java中读写ini文件,有以下几个步骤: 引入ini4j库 ini4j是一个开源的Java类库,主要用于解析INI文件。 在Maven项目中,可以在pom.xml文件中添加以下依赖: <dependency> <groupId>org.ini4j</groupId> <artifactId>ini4j&l…

    Java 2023年5月19日
    00
  • Java读取properties文件之中文乱码问题及解决

    为了更好地回答这个问题,我先介绍一下什么是 properties 文件。 Properties 文件是 Java 配置文件的一种常见格式,多用于存储项目的配置信息,如数据库连接的 URL、用户名和密码、邮件服务器的信息等等。它的格式如下所示: key1=value1 key2=value2 key3=value3 其中,key 和 value 分别表示属性的…

    Java 2023年5月20日
    00
  • apache .htaccess文件详解和配置技巧总结

    下面就来详细讲解一下“apache .htaccess文件详解和配置技巧总结”的完整攻略。 一、什么是 .htaccess 文件? 在 Apache 服务器上,.htaccess 文件是一个可以被用来改变服务器配置的配置文件。它可以被放在网站的根目录或者任何需要特殊配置的目录中,而不需要修改服务器的主配置文件(httpd.conf)。 二、.htaccess…

    Java 2023年6月15日
    00
  • jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA)

    下面我将为你讲解“jmeter添加自定函数的实例(jmeter5.3+IntelliJ IDEA)”的攻略: 1. 准备工作 1.1 下载安装Java Development Kit(JDK) 在JMeter中开发自定义Java代码,需要安装好JDK,并设置好JAVA_HOME环境变量。下载地址:https://www.oracle.com/java/tec…

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