一、創建maven項目
配置好相應的jdk
二、在數據庫建立相應的表格
1.因為Mybatis實際是對sql表的一系列操作,所以我們新建一個數據庫
2.在查詢界面運行下面指令創建一個user表
CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(32) NOT NULL COMMENT '用戶名稱',`birthday` datetime DEFAULT NULL COMMENT '生日',`sex` char(1) DEFAULT NULL COMMENT '性別',`address` varchar(256) DEFAULT NULL COMMENT '地址',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `user` (`id`, `username`, `birthday`, `sex`, `address`) VALUES
(1, '老王', '2018-02-27 17:47:08', '男', '北京'),
(2, '熊大', '2018-03-02 15:09:37', '女', '上海'),
(3, '熊二', '2018-03-04 11:34:34', '男', '深圳'),
(4, '光頭強', '2018-03-04 12:04:06', '男', '廣州');
三、在項目中配置好Mybatis環境
1. 在設置中尋找文件和文件代碼模板,新增這兩個文件模板內容:
這是兩個文件的內容:
MyBatis.mapper.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace=""></mapper>
SqlMapConfig.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="mysql"><environment id="mysql"><!--配置事務的類型,使用本地事務策略--><transactionManager type="JDBC"></transactionManager><!--是否使用連接池 POOLED表示使用鏈接池,UNPOOLED表示不使用連接池--><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo"/><property name="username" value="root"/><property name="password" value="2020"/></dataSource></environment></environments><mappers><mapper resource="mapper/UserDao.xml"></mapper></mappers>
</configuration>
?2.創建接口和實體類:

?實體類的內容為:
?
package com.qcby.entity;import java.util.Date;public class User {private int id;private String username;private Date birthday;private String sex;private String address;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", birthday=" + birthday +", sex='" + sex + '\'' +", address='" + address + '\'' +'}';}
}
?3.配置Mybatis運行環境:
(1)引入Mybatis依賴(pom.xml):
在你引入依賴之前需要給idea配置好maven:
依賴代碼:
<dependencies><!--mybatis核心包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><!--mysql驅動包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><!-- 單元測試 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version></dependency><!-- 日志 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies>
(2)鏈接數據庫:
這是我們剛剛在文件與代碼模板中配置的代碼模板,現在我們直接使用:
創建完成之后要注意你的數據庫名字、密碼以及配置相應的字符集
(3)配置sql?
1.UseMapper.xml文件用于定義sql語句
<mapper namespace="com.qcby.dao.UserDao">
的作用對應dao接口
id是方法名稱
resultType是返回類型
2.UserDao接口:
定義與數據庫交互的方法。
?四、建立測試用例
測試代碼:
import com.qcby.dao.UserDao;
import com.qcby.entity.User;
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.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
public class UserTest {private InputStream in = null;private SqlSession session = null;private UserDao mapper = null;@Before //前置通知, 在方法執行之前執行public void init() throws IOException {//加載主配置文件,目的是為了構建SqlSessionFactory對象in = Resources.getResourceAsStream("SqlMapConfig.xml");//創建SqlSessionFactory對象SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);//通過SqlSessionFactory工廠對象創建SqlSesssion對象session = factory.openSession();//通過Session創建UserDao接口代理對象mapper = session.getMapper(UserDao.class);}@After //@After: 后置通知, 在方法執行之后執行 。public void destory() throws IOException {//釋放資源session.close();in.close();}@Testpublic void find(){List<User> xx = mapper.findAll();for(User user : xx){System.out.println(user.toString());}}
}
測試結果:
?
這次的分享就到這里啦,感謝大家的觀看!