mybatis快速上手并運行程序
1.Mybatis概述
????????MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對象)為數(shù)據(jù)庫中的記錄。
可能大家讀不太懂上面的話,覺得寫的很官方,但這也確實是mybatis官方目錄對于mybatis的解釋。我們暫時還不了解mybatis,但相信大家都學過JDBC,它的操作方式繁雜,SQL代碼和Java代碼高度耦合,無論是學習的人還是使用的人都覺得繁瑣,所以mybatis應(yīng)用而生(當然還有hibernate這個框架,不過已經(jīng)被淘汰了)。正如官方文檔加深字體所說,mybatis就是一個為了來優(yōu)化JDBC代碼的持久層框架。
2.Mybatis快速入門
Mybatis環(huán)境搭建步驟:
? ? ? ? 1.創(chuàng)建maven項目,導入對應(yīng)需要的jar包
? ? ? ? 2.編寫mapper映射文件和mybatis全局配置文件
? ? ? ? 3.創(chuàng)建一個pojo類,在數(shù)據(jù)庫中建立對應(yīng)表,編寫mapper配置文件
? ? ? ? 4.編寫mybatisUtils工具類,得到sqlSessionFactory對象
?? ? ? ?5.進行test測試,通過工具類sqlSession實例來獲得mapper,調(diào)用映射文件中的SQL語句完成CRUD操作
1.創(chuàng)建maven項目

在pom.xml中導入依賴

mybatis需要的依賴
<dependencies>
<!--MySQL驅(qū)動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!--mybatis包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!--junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
2.編寫mapper映射文件和mybatis全局配置文件
編寫Mapper文件(也就是接口)

編寫對應(yīng)的Mapper.xml文件

在resource下建立一個mybatis—config.xml

導入核心配置信息,注意我標注的地方需要根據(jù)自己數(shù)據(jù)庫的地方進行更改???????????
<?xml version="1.0" encoding="UTF8" ?>
<!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/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--每一個Mapper.XML都需要在Mybatis核心配置文件中注冊-->
<mappers>
<mapper resource="com/kaung/dao/UserMapper.xml"/>
</mappers>
</configuration>

3.編寫一個User類
public class User {
private int id;
private String name;
private String password;
public User() {
}
public User(int id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
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 getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", password='" + password + '\'' +
'}';
}
}
在數(shù)據(jù)庫中建立對應(yīng)的表(CRUD自己手寫)

4.編寫一個mybatis工具類,獲得SqlSession對象
在java下建一個utils包,建立一個MybatisUtils工具類

//工具類 sqlSessionFactory -->sqlSession
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 提供了在數(shù)據(jù)庫執(zhí)行 SQL 命令所需的所有方法。
// 你可以通過 SqlSession 實例來直接執(zhí)行已映射的 SQL 語句。
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}
5.test進行測試,查詢所有User

public class UserDaoMapperTest {
@Test
public void test(){
//1.獲得sqlSession對象
SqlSession sqlSession = MybatisUtils.getSqlSession();
//方法1:getMapper
UserDaoMapper userDaoMapper = sqlSession.getMapper(UserDaoMapper.class);
List<User> userList= userDaoMapper.getUserList();
for (User user:userList){
System.out.println(user);
}
//關(guān)閉sqlSession
sqlSession.close();
}
}
到此這篇關(guān)于mybatis快速上手并運行程序的文章就介紹到這了,更多相關(guān)mybatis 入門內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot攔截器Interceptor的使用,你都了解嗎
springmvc 中的攔截器可以對請求進行判別,在請求到達控制器之前,把非法的請求給攔截掉下面來說一說, 它在springboot中的使用,感興趣的朋友一起看看吧2021-07-07
解決spring-boot-starter-web等報紅問題
這篇文章主要介紹了解決spring-boot-starter-web等報紅問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
vscode開發(fā)maven的javaweb項目并部署到tomcat及配置指南
這篇文章主要給大家介紹了關(guān)于vscode開發(fā)maven的javaweb項目并部署到tomcat及配置的相關(guān)資料,在vscode中創(chuàng)建maven項目,需要逐一操作下面的環(huán)節(jié),文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-12-12
idea新建springboot項目pom文件報錯問題及解決
這篇文章主要介紹了idea新建springboot項目pom文件報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
JAVA數(shù)字千分位和小數(shù)點的現(xiàn)實代碼(處理金額問題)
這篇文章主要介紹了JAVA數(shù)字千分位和小數(shù)點的現(xiàn)實代碼(處理金額問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10

