MyBatis框架---简介与简单使用 存在即巅峰

目录

 1 MyBatis框架                1.1 什么是MyBatis框架

                1.2 MyBatis可以做什么

2.使用MyBatis

2.1创建数据库+表

2.2配置mybatis的配置文件

2.3创建对应的实体类

2.4创建操作表的SQL映射文件

2.5 配置文件李注册映射文件

2.6创建测试类

        2.6.1 测试


 1 MyBatis框架


                1.1 什么是MyBatis框架

                        mybatis:是一个持久层框架,原名是ibatis,2.13改名为MyBatis。MyBatis可以操 作数据库,对数据执行增删改查。可以看做高级的jdbc,解决了jdbc的缺点。

                      

                1.2 MyBatis可以做什么

                       1)注册驱动。

                        2)创建jdbc中的Connection,Statement,ResultSet

                        3)执行sql语句,得到ResultSet

                        4)处理ResultSet,把记录集中的数据转换为java对象,同时还能把java对象放到    List集合。

                        5)关闭资源

                        6)实现sql语句和java代码的解耦合。

2.使用MyBatis

        2.1安装

要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可。

如果使用 Maven 来构建项目,则需将下面的依赖代码置于 pom.xml 文件中:

<dependencies>
        <!--mysqly依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
 
     
 
        <!--mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
 
</dependencies>

2.1创建数据库+表

#创建数据表
 
CREATE TABLE `book_info` (
  `book_id` int(11) NOT NULL AUTO_INCREMENT,
  `book_name` varchar(20) NOT NULL,
  `book_author` varchar(20) NOT NULL,
  `book_price` int(11) NOT NULL,
  `book_pub` varchar(20) NOT NULL,
  PRIMARY KEY (`book_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1017 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
 
#插入数据
INSERT INTO `book_info` VALUES ('1001', '西游记', '吴承恩', '35', '清华大学出版社');
INSERT INTO `book_info` VALUES ('1002', '骆驼祥子', '老舍', '23', '新华出版社');
INSERT INTO `book_info` VALUES ('1003', '哈利比特', 'J.K.罗琳', '41', '人民出版社');
INSERT INTO `book_info` VALUES ('1004', '安徒生童话', '安徒生', '28', '人民文学出版社');
INSERT INTO `book_info` VALUES ('1005', '青铜葵花', '曹文轩', '32', '清华大学出版社');
INSERT INTO `book_info` VALUES ('1007', '红楼梦', '曹雪芹', '45', '人民教育出版社');

2.2配置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.cj.jdbc.Driver" />
<!--                对应自己的数据库名-->
                <property name="url" value="jdbc:mysql://localhost:3306/11-30?serverTimezone=Asia/Shanghai" />
<!--               对应自己的数据库用户名-->
                <property name="username" value="root" />
<!--                对应自己的数据库密码-->
                <property name="password" value="123@qwe" />
            </dataSource>
        </environment>
    </environments>
</configuration>

 2.3创建对应的实体类

package com.wq.entity;
 
 
/**
 * @description:
 * @author:wq
 * @create: 2021-12-06 22:01
 **/
public class Book {
    private int book_id;
    private String book_name;
    private String book_author;
    private int book_price;
    private String book_pub;
 
    public Book() {
    }
 
    public Book(int book_id, String book_name, String book_author, int book_price, String book_pub) {
        this.book_id = book_id;
        this.book_name = book_name;
        this.book_author = book_author;
        this.book_price = book_price;
        this.book_pub = book_pub;
    }
 
    public int getBook_id() {
        return book_id;
    }
 
    public void setBook_id(int book_id) {
        this.book_id = book_id;
    }
 
    public String getBook_name() {
        return book_name;
    }
 
    public void setBook_name(String book_name) {
        this.book_name = book_name;
    }
 
    public String getBook_author() {
        return book_author;
    }
 
    public void setBook_author(String book_author) {
        this.book_author = book_author;
    }
 
    public int getBook_price() {
        return book_price;
    }
 
    public void setBook_price(int book_price) {
        this.book_price = book_price;
    }
 
    public String getBook_pub() {
        return book_pub;
    }
 
    public void setBook_pub(String book_pub) {
        this.book_pub = book_pub;
    }
 
    @Override
    public String toString() {
        return "Book{" +
                "book_id=" + book_id +
                ", book_name='" + book_name + '\'' +
                ", book_author='" + book_author + '\'' +
                ", book_price=" + book_price +
                ", book_pub='" + book_pub + '\'' +
                '}';
    }
}

2.4创建操作表的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="Mapper.BookMapper">
 <select>  查询SQL语句
   
 占位符为:#{参数名} 
    
    <select id="SelectOne" resultType="com.cys.entity.Book">
        select * from book_info where book_id=#{id}
    </select>
 
    <select id="SelectAll" resultType="com.cys.entity.Book">
        select * from book_info
    </select>
 
    <insert id="AddBook">
        insert into book_info values(null,#{book_name},#{book_author},#{book_price},#{book_pub})
    </insert>
 
    <delete id="DeleteBook">
        delete from book_info where book_id=#{book_id}
    </delete>
 
    <update id="UpdateBook">
        update book_info set book_name=#{book_name},book_author=#{book_author},book_price=#{book_price},book_pub=#{book_pub} where book_id=#{book_id}
    </update>
</mapper>

2.5 配置文件里注册映射文件

    <mappers>
        <!--        resource:对应映射文件的路径-->
        <mapper resource="Mapper/BookMapper.xml"/>
    </mappers>

2.6创建测试类

引入依赖

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

时间原因后续会慢慢完善!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值