MyBatis+Mysql+Idea基本项目[1]

1、Maven中加入MyBatis依赖

    <dependencies>
        <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.3</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

2、导入Mysql驱动jar包

2、创建MyBatis配置文件
mybatis-conf.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 resource="db.properties" />
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver"
                          value="${driver}" />
                <property name="url"
                          value="${url}" />
                <property name="username" value="${username}" />
                <property name="password" value="${password}" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/bookMapper.xml" />
    </mappers>
</configuration>

db.properties

driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/mybatis
username = root
password = 123456

3、创建数据库和数据表

create database mybatis;
create table book(id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,book_name VARCHAR(20),author VARCHAR(10));
create table shop(id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,book_id INTEGER,price INTEGER,stock_number INTEGER);
create table sales(id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,book_id INTEGER,custom VARCHAR(20),sales_number INTEGER);
INSERT INTO book(book_name, author) VALUES('论语', '孔子');
INSERT INTO book(book_name, author) VALUES('周易', '姬昌');
INSERT INTO book(book_name, author) VALUES('史记', '司马迁');
INSERT INTO shop(book_id, price, stock_number) VALUES(1, 20, 100);
INSERT INTO shop(book_id, price, stock_number) VALUES(2, 17, 99);
INSERT INTO shop(book_id, price, stock_number) VALUES(3, 40, 50);
INSERT INTO sales(book_id, custom, sales_number) VALUES(1, '赵一', 2);
INSERT INTO sales(book_id, custom, sales_number) VALUES(3, '赵一', 5);
INSERT INTO sales(book_id, custom, sales_number) VALUES(2, '赵一', 4);
INSERT INTO sales(book_id, custom, sales_number) VALUES(1, '钱二', 10);
INSERT INTO sales(book_id, custom, sales_number) VALUES(2, '张三', 2);
INSERT INTO sales(book_id, custom, sales_number) VALUES(3, '李四', 200);
INSERT INTO sales(book_id, custom, sales_number) VALUES(2, '赵一', 1);
INSERT INTO sales(book_id, custom, sales_number) VALUES(2, '张三', 2);
INSERT INTO sales(book_id, custom, sales_number) VALUES(2, '张三', 2);

4、创建对象类和对应Mapper.xml

package org.kanade.mybatis.dataobject;
public class Book {
    private int id;
    private String bookName;
    private String author;
    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;
    }

    @Override
    public String toString() {
        return "书名:" + bookName + " 作者:" + author;
    }
}

<?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="org.kanade.mybatis.bookMapper">
    <select id="selectBookById" parameterType="INTEGER"
            resultMap="selectBookByIdMap">
        select * from book where id=#{id}
    </select>
    <resultMap id="selectBookByIdMap" type="org.kanade.mybatis.dataobject.Book">
        <id property="id" column="id"/>
        <result property="bookName" column="book_name"/>
        <result property="author" column="author"/>
    </resultMap>
</mapper>

5、创建测试类

扫描二维码关注公众号,回复: 7987154 查看本文章
package org.kanade.mybatis;

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.kanade.mybatis.dataobject.Book;

import java.io.IOException;
import java.io.Reader;

public class Test {
    public static void main(String[] args) throws IOException
    {
        String resource = "mybatis-conf.xml";
        // 加载mybatis 的配置文件
        Reader reader = Resources.getResourceAsReader(resource);
        // 创建sqlSession 的工厂
        SqlSessionFactory sessionFactory
                = new SqlSessionFactoryBuilder().build(reader);
        // 创建能够执行SQL映射文件中sql语句的sqlSession对象
        SqlSession session = sessionFactory.openSession();
        // 指定sql语句对应的标识字符串:namespace+id
        String statement
                = "org.kanade.mybatis.bookMapper" + ".selectBookById";
        Book book = session.selectOne(statement, 2);
        System.out.println(book);
        session.close();
    }
}

参考地址:
MyBatis入门 https://lanqiao.coding.me/mybatis%E6%A1%86%E6%9E%B6/MyBatis-lesson12

猜你喜欢

转载自www.cnblogs.com/otonashi129/p/11938924.html
今日推荐