实验二 使用mybatis框架完成对数据库的查询操作

1. 创建数据库
CREATE TABLE `book` (
  `id` int(11) NOT NULL auto_increment,
  `bookname` varchar(32) NOT NULL COMMENT '书名',
  `author` varchar(32) default NULL COMMENT '作者',
  `publicationdate` datetime default NULL COMMENT '出版日期',
  `price` int(32) default NULL COMMENT '价格',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert  into `book`(`id`,`bookname`,`author`,`publicationdate`,`price`) values (1,'西游记','吴承恩','1980-02-27 17:47:08',65),(2,'三国演义','罗贯中','1991-03-02 

15:09:37',59),(3,'水浒传','施耐庵','1984-05-02 17:29:33',61),(4,'红楼梦','曹雪芹','1994-06-06 21:33:18',88);

数据库视图

2. 创建maven工程并导入maven依赖jar包

一个基础的mybatis项目需要数据库连接驱动mybatis依赖包
我的数据库为mysql8,数据库驱动与mybatis版本都需要比较新的版本,根据自己的数据库版本使用相应的驱动就好

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
        </dependency>
<!--mybatis依赖包-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
3. 创建数据库对应实体类

com->test->pojo->Book.class

package com.test.pojo;


import java.util.Date;

public class Book {
    private int id;
    private String bookname;
    private String author;
    private Date publicationdate;
    private int price;

    public Book() {
    }

    public Book(int id, String bookname, String author, Date publicationdate, int price) {
        this.id = id;
        this.bookname = bookname;
        this.author = author;
        this.publicationdate = publicationdate;
        this.price = price;
    }

    @Override
    public String toString() {
        return "book{" +
                "id=" + id +
                ", bookname='" + bookname + '\'' +
                ", author='" + author + '\'' +
                ", publicationdate=" + publicationdate +
                ", price=" + price +
                '}';
    }

    public int getId() {
        return id;
    }

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

    public String getBookname() {
        return bookname;
    }

    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public String getAuthor() {
        return author;
    }

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

    public Date getPublicationdate() {
        return publicationdate;
    }

    public void setPublicationdate(Date publicationdate) {
        this.publicationdate = publicationdate;
    }

    public int getPrice() {
        return price;
    }

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

4. 创建Mapper映射接口

com->test->mapper->BookMapper

package com.test.mapper;

import com.test.pojo.Book;

import java.util.List;

public interface BookMapper {
//    查询全部图书
    List<Book> findAllBook();
}

5. 编写数据库连接配置文件

resources->jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true
jdbc.username=root
jdbc.password=root
6. 编写mybatis配置文件

resources->mybatis.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标签加载外部properties文件-->
    <properties resource="jdbc.properties"></properties>
    <!--    自定义别名  -->
    <typeAliases>
        <typeAlias type="com.test.pojo.Book" alias="book"></typeAlias>
    </typeAliases>


    <!--    配置当前数据源的环境-->
    <environments default="development">
        <environment id="development">

            <!--            事务管理器           -->
            <transactionManager type="JDBC"></transactionManager>
            <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/test/mapper/BookMapper.xml"></mapper>
    </mappers>

</configuration>
7. 编写BookMapper的映射文件

resources->com->test->mapper->BookMapper.xml
需要注意的是!在resources中创建Directory要用 / 进行分隔!而不是 点!
在这里插入图片描述

<?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.test.mapper.BookMapper">
    <select id="findAllBook" resultType="book">
        select
        *
        from book
    </select>
</mapper>
8. 编写测试文件
package test;

import com.test.mapper.BookMapper;
import com.test.pojo.Book;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MybatisTest {
    //    加载mybatis配置文件(工厂图纸)
    InputStream resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
    //    获得工厂对象(sqlSessionFactory)
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
    //    获得session会话对象
    SqlSession sqlSession = sqlSessionFactory.openSession();
    //    获取mapper对象
    BookMapper bookMapper = sqlSession.getMapper(BookMapper.class);

    public MybatisTest() throws IOException {
    }

    //    查
    @Test
    public void testSelect() {
        List<Book> allBook = bookMapper.findAllBook();
        for (Book book : allBook) {
            System.out.println(book);
        }
        sqlSession.close();
    }
}

9. 运行结果

输出成功
输出成功

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
实验是基于Spring和MyBatis的学生信息查询系统的设计与实现。该实验的目标是使用Spring框架进行项目的搭建,并结合MyBatis框架操作数据库,实现一个简单但功能完整的学生信息查询系统。 首先,我们需要在Spring框架配置相关的xml文件。这些配置文件包括applicationContext.xml、mybatis-config.xml和dispatcher-servlet.xml。在applicationContext.xml文件中,我们配置了Spring的核心功能,包括Bean的定义和依赖注入。mybatis-config.xml文件是MyBatis框架配置文件,我们在其中配置数据库连接信息和映射文件的位置。dispatcher-servlet.xml文件是Spring MVC框架配置文件,我们在其中定义了控制器、视图解析器和URL映射等内容。 接下来,我们需要编写实体类和DAO接口。实体类用于表示学生信息,包括学号、姓名、性别等属性。DAO接口用于定义与数据库交互的方法,例如查询学生信息、添加学生信息等。 然后,我们创建相应的Mapper映射文件。在这些文件中,我们按照需要的功能编写SQL语句,例如查询所有学生信息、按条件查询学生信息等。Mapper映射文件将SQL语句与DAO接口方法进行映射,并使用MyBatis提供的功能来执行这些SQL语句。 最后,我们编写控制器和视图来实现学生信息查询系统的具体功能。控制器负责接收用户请求并调用相应的服务方法,然后将查询结果传递给视图进行展示。视图负责将查询结果以页面的形式展示给用户,例如以表格的方式显示学生信息。 综上所述,实验基于Spring和MyBatis实现了一个学生信息查询系统。通过该实验,我们学习了如何使用Spring框架进行项目的管理和搭建,以及如何使用MyBatis框架进行数据库操作。这个系统具有良好的扩展性和可维护性,并且能够满足实际应用中的学生信息查询需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值