_
***配套檔案:***↓↓↓
mybatis – MyBatis 3 | 簡介
一、第一個Mybatis程式
1、搭建環境
1)創建資料庫
- 創建mybatis資料庫
- 創建user表(int id,varchar name,varchar pwd)
- 插入資料

2)新建專案
-
創建一個普通maven工程
-
洗掉src目錄
-
匯入maven依賴<pom.xml>
<!-- 匯入依賴-->
<dependencies>
<!-- mysql驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!-- mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!-- junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
2、創建一個模塊
1)創建新的Module
- resource下新建<mybatis-config.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核心組態檔-->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306?serverTimezone=GMT&useUnicode=true&useSSL=true&characterEncoding=UTF-8"/>
<property name="username" value="ROOT"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
- 連接資料庫:
點擊開發工具右側database >>mysql >>root/123456 >>url后面加:?serverTimezone=GMT (改時區)>>在Schemas中選擇對應資料庫 >>成功匯入資料庫
2)撰寫mybatis的工具類的
-
第一步:獲取sqlSessionFactory物件<MybatisUtils.java>
-
第二步:從 SqlSessionFactory 中獲取 SqlSession
package com.pf.utils;
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 java.io.IOException;
import java.io.InputStream;
/**
* @ description: SqlSessionFactory構建sqlSession
* @ author: perfer.PF
* @ time: 2022/1/14 - 23:47
*/
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try{
// 使用Mybatis 第一步:獲取sqlSessionFactory物件
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}catch (IOException e){
e.printStackTrace();
}
}
// 既然有了 SqlSessionFactory,顧名思義,我們可以從中獲得 SqlSession 的實體,
// SqlSession 提供了在資料庫執行 SQL 命令所需的所有方法,
// 你可以通過 SqlSession 實體來直接執行已映射的 SQL 陳述句,
/**
* @Description: 呼叫sqlSessionFactory物件
* @Param: []
* @return: SqlSession
* @Author: perfer
* @Date: 2022/1/15
*/
public static SqlSession getSqlSession(){
return sqlSessionFactory.openSession();
}
}
之后使用資料庫只需呼叫sqlSession實體

3、撰寫代碼
1)物體類
package com.pf.pojo;
/**
* @ description:物體類
* @ author: perfer.PF
* @ time: 2022/1/15 - 0:07
*/
public class User {
private int id;
private String name;
private String pwd;
public User(){
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
}
2)Dao介面
- interface介面
package com.pf.dao;
import com.pf.pojo.User;
import java.util.List;
/**
* @ description:
* @ author: perfer.PF
* @ time: 2022/1/15 - 0:09
*/
public interface UserDao {
List<User> getUserList();
}
3)介面實作類
- 由原來的UserDaoImpl轉化為Mapper.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==系結一個對應的Dao/Mapper介面-->
<mapper namespace="com.pf.dao.UserDao">
<!-- 查詢陳述句-->
<select id="getUserList" resultType="com.pf.pojo.User">
select * from mybatis.user
</select>
</mapper>
4、測驗
1)注意點
-
組態檔沒有注冊
? MapperRegistry是什么? >> 核心組態檔中注冊mappers
-
系結介面錯誤
-
方法名不對
-
回傳型別不對
-
Maven匯出資源
2)解決Maven資源過濾問題
- pom檔案配置添加:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
3)junit測驗
package com.pf.dao;
import com.pf.pojo.User;
import com.pf.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
/**
* @ description:
* @ author: perfer.PF
* @ time: 2022/1/15 - 0:26
*/
public class UserDaoTest {
@Test
public void test(){
//獲取sqlSession物件
SqlSession sqlSession = MybatisUtils.getSqlSession();
//執行SQL
UserDao userDao = sqlSession.getMapper(UserDao.class);
List<User> userList = userDao.getUserList();
for(User user:userList){
System.out.println(user);
}
//關閉sqlSession
sqlSession.close();
}
}
n = MybatisUtils.getSqlSession();
//執行SQL
UserDao userDao = sqlSession.getMapper(UserDao.class);
List userList = userDao.getUserList();
for(User user:userList){
System.out.println(user);
}
//關閉sqlSession
sqlSession.close();
}
}
👆👆👆以上就可以簡單實作一個mybatis
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413886.html
標籤:其他
上一篇:Python Selenium.WebDriverWait 最強詳解頁面加載策略
下一篇:VsCode使用教程
