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,但相信大家都學(xué)過JDBC,它的操作方式繁雜,SQL代碼和Java代碼高度耦合,無論是學(xué)習(xí)的人還是使用的人都覺得繁瑣,所以mybatis應(yīng)用而生(當(dāng)然還有hibernate這個框架,不過已經(jīng)被淘汰了)。正如官方文檔加深字體所說,mybatis就是一個為了來優(yōu)化JDBC代碼的持久層框架。
2.Mybatis快速入門
Mybatis環(huán)境搭建步驟:
? ? ? ? 1.創(chuàng)建maven項目,導(dǎo)入對應(yīng)需要的jar包
? ? ? ? 2.編寫mapper映射文件和mybatis全局配置文件
? ? ? ? 3.創(chuàng)建一個pojo類,在數(shù)據(jù)庫中建立對應(yīng)表,編寫mapper配置文件
? ? ? ? 4.編寫mybatisUtils工具類,得到sqlSessionFactory對象
?? ? ? ?5.進(jìn)行test測試,通過工具類sqlSession實例來獲得mapper,調(diào)用映射文件中的SQL語句完成CRUD操作
1.創(chuàng)建maven項目

在pom.xml中導(dǎo)入依賴

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

導(dǎo)入核心配置信息,注意我標(biāo)注的地方需要根據(jù)自己數(shù)據(jù)庫的地方進(jìn)行更改???????????
<?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進(jìn)行測試,查詢所有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擴展SpringMVC原理并實現(xiàn)全面接管
這篇文章主要介紹了SpringBoot擴展SpringMVC原理并實現(xiàn)全面接管,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Java多線程+鎖機制實現(xiàn)簡單模擬搶票的項目實踐
鎖是一種同步機制,用于控制對共享資源的訪問,在線程獲取到鎖對象后,可以執(zhí)行搶票操作,本文主要介紹了Java多線程+鎖機制實現(xiàn)簡單模擬搶票的項目實踐,具有一定的參考價值,感興趣的可以了解一下2024-02-02
Python安裝Jupyter Notebook配置使用教程詳解
這篇文章主要介紹了Python安裝Jupyter Notebook配置使用教程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Java通過socket客戶端保持連接服務(wù)端實現(xiàn)代碼
這篇文章主要介紹了Java通過socket客戶端保持連接服務(wù)端實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11

