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