mybatis基礎入門
阿新 • • 發佈:2018-12-22
MyBatis概述
1、ORM模型。2、MyBatis概述。3、MyBatis使用優勢及應用場景
ORM模型簡介
- ORM物件關係對映(Object Relation Mapping)
- Object:java中的物件
- Mapping:資料庫中的表
- Relation:關係對映
傳統JDBC程式設計缺陷 - 大量配置資訊硬編碼
- 大量的無關業務的處理編碼
- 擴充套件優化極為不便
MyBatis概述
Mybatis是支援定製化SQL、儲存過程以及高階對映的永續性框架 - 避免傳統的JDBC硬編碼
- XML配置或註解
- POJO物件和資料庫記錄直接對映
- 完善的文件支援
MyBatis的使用優勢 - 簡單易學,快速上手,學習成本低
- 資料庫互動資訊配置化
- 動態SQL處理
MyBatis開發環境搭建
傳統專案中使用MyBatis
- gethub下載mybatis
- 專案中匯入jar包
maven方式引入
- 在依賴查詢網站找到mubatis
- 配置到pom.xml中
入門程式
-
開發環境:windows+jdk1.8+IDLE+Mysql
-
需求:完成一個數據的查詢流程
-
目的:瞭解mybatis核心API的操作流程
-
擴充套件:瞭解mubatis的工作流程
1、建立一個maven專案,不用選archetype,JDK任選吧
2、填寫groupId,ArifactId
3、finsh
4、專案結構
main:正式編寫的程式碼
java:原始碼
resources:配置檔案
test:測試程式碼
pom.xml檔案:maven 專案檔案,配置jar包依賴
5、配置相應jar包依賴 -
找到mybatis的jar依賴,和mysql連線的依賴,配置到pom.xml中
<dependencies> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> </dependencies>
6、XML配置主配置檔案配置
在main中resources下新建一個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>
<environments default="development">
<environment id="development">
<!--事務管理使用預設的jdbc管理-->
<transactionManager type="JDBC"/>
<!--使用資料庫連線池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mytest"/>
<property name="username" value="root"/>
<property name="password" value="110110110"/>
</dataSource>
</environment>
</environments>
<!--對映配置檔案的路徑-->
<mappers>
</mappers>
</configuration>
7、建立資料庫
CREATE DATABASE test;
use test;
CREATE TABLE users(
id int auto_increment PRIMARY KEY COMMENT '使用者編號',
username VARCHAR(50) COMMENT '這是登入賬號',
password VARCHAR(50) COMMENT '這是登入密碼',
nickname VARCHAR(20) COMMENT '使用者暱稱'
);
INSERT into users VALUES(1,'admin','admin','管理員');
8、建立一個與資料表對應的實體類
package club.bagedate.users;
public class user {
private int id;
private String username;
private String password;
private String nickname;
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 String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
@Override
public String toString() {
return "user{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
9、在resources中建立一個mapper資料夾,在資料夾中定義對映關係
建立一個usersMapper.xml
<?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">
<!-- namespace 名稱空間
通常情況,名稱空間的值,就是當前操作實體類物件的全名稱
-->
<mapper namespace="club.bagedate.users.user">
<select id="userList" resultType="club.bagedate.users.user">
select * from users
</select>
</mapper>
將對映關係配置到mabatis.xml中
在mappers中新增對映
10、在test中進行測試
測試之前需要引入junit包在pom.xml中
public class TestDemo {
@Test
public void testDemo01() throws IOException {
//初始化mybatis配置環境
String resource = "mybatis.xml";
InputStream is = Resources.getResourceAsStream(resource);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//開啟和資料庫之間的會話
SqlSession session = factory.openSession();
List<user> userList = session.selectList("userList");
for (user a:userList
) {
System.out.println(a);
}
session.close();
}
}