idea搭建mybatis環(huán)境配置全過程
一、MyBatis 介紹
MyBatis 是一個支持普通 SQL 查詢、存儲過程以及高級映射的持久層框架,它消除了幾乎所有的 JDBC 代碼和參數(shù)的手動設置以及對結(jié)果集的檢索,使用簡單的 XML 或注解進行配置和原始映射,將接口和 Java 的 POJO 映射成數(shù)據(jù)庫中的記錄,使得 Java 開發(fā)人員可以使用面向?qū)ο蟮木幊趟枷雭聿僮鲾?shù)據(jù)庫。
針對 JDBC 編程的劣勢,MyBatis 提供了以下解決方案,具體如下:
① 在 SqlMapConfig.xml 中配置數(shù)據(jù)連接池,使用連接池管理數(shù)據(jù)庫鏈接;
② MyBatis 將 SQL 語句配置在 MyBatis 的映射文件中,實現(xiàn)了與 Java 代碼的分離;
③ MyBatis 自動將 Java 對象映射至 SQL 語句,通過 Statement 中的 parameterType 定義輸入?yún)?shù)的類型;
④ MyBatis 自動將 SQL 執(zhí)行結(jié)果映射至 Java 對象,通過 Statement 中的 resultType 定義輸出結(jié)果的類型。
二、MyBatis 環(huán)境搭建
1.MyBatis 下載
官方地址:https://github.com/mybatis/mybatis-3
(1)打開之后往下滑,找到 Download Latest 下載最新版本。
(2)這里可以看到三個包,第一個是我們要的架包,后兩個是不同系統(tǒng)下的源碼,我們下載第一個架包。
2.配置 jdk 版本
File → Project Structure → Project,1處選擇你的 jdk 版本,2 處版本與1一致,Apply。
3.創(chuàng)建 Maven 工程
(1)由于 IDEA 中集成了 Maven,所以我們就不需要下載了,直接使用 IDEA 默認的 Maven 進行項目構(gòu)建。
(2)打開 IDEA 開發(fā)工具,單擊 File → new → Project,選擇 Maven,點擊 Next。
(3)第一行給你的項目起一個名字吧,第二行選擇項目要存放的位置,我這里項目的名字叫 MyProject,可以提前在桌面上創(chuàng)了一個文件夾 My 用來放項目文件。(當然位置自己決定)
不要忘記點擊 finish 完成!
(4)如圖創(chuàng)建成功后就是這個樣子。
4.IDEA 連接數(shù)據(jù)庫
① View → Tool Windows → DataBase → 屏幕右側(cè)點加號 → DataSource → MySQL
② 填寫以下內(nèi)容
Name 值隨便起無所謂,填寫你的 MySQL 用戶名及密碼,Database 處填數(shù)據(jù)庫名,我們剛剛的數(shù)據(jù)庫名叫 mybatis,下面URL路徑不用管填了 Database 會自動生成。
③ 點擊 Driver:MySQL → Go to driver,選擇你的數(shù)據(jù)庫 jar 包,這個包的位置要看你當初把 MySQL 安裝在哪個地方了。
④ 點擊下面的 Test Connection,是一個測試,如果下面不報錯則代表連接成功,最后一步點擊 Apply 應用,連接成功后會在 IDEA 右側(cè)顯示。
5.項目文件構(gòu)架
下圖是我的項目目錄,全部都展開了,大家先按這個構(gòu)架去創(chuàng)建各種包及文件,名字最好先跟我的一樣,避免后面出錯。
項目需要創(chuàng)建的文件我都展開了,target 里面的不用你管是自動生成的!
6.引入相關(guān)依賴
將以下依賴代碼復制并粘貼到 pom.xml 文件中,什么都不用改,直接復制!
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>compile</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build>
大約粘貼到這個位置,至于我的主題顏色為什么又換成白色的了,hhhhh因為電腦沒電了,感JIO眼睛快X了~好了好了言歸正傳,聽我的聽我的,下一步趕快去創(chuàng)建一個數(shù)據(jù)庫備用!
7.命令行創(chuàng)建數(shù)據(jù)庫
命令行創(chuàng)建數(shù)據(jù)庫:
create database mybatis;
8.數(shù)據(jù)庫配置文件
db.properties 文件就是數(shù)據(jù)庫連接的配置文件,在該文件中配置相關(guān)參數(shù)。
mysql.driver=com.mysql.cj.jdbc.Driver mysql.username=root mysql.password=123456bb mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
先把我的代碼全部復制上,需要你自己修改的地方有三個,1處是你的 MySQL 用戶名,2處是你的 MySQL 密碼,3處是數(shù)據(jù)庫名,即 mybatis 這是我們剛才創(chuàng)建的那個數(shù)據(jù)庫!
9.核心配置文件
剛剛創(chuàng)建的 MybatisConfig.xml 就是 Mybatis 的核心配置文件。
<?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> <properties resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!-- JDBC 驅(qū)動--> <property name="driver" value="${mysql.driver}"/> <!-- url數(shù)據(jù)庫的 JDBC URL地址。--> <property name="url" value="${mysql.url}"/> <property name="username" value="${mysql.username}"/> <property name="password" value="${mysql.password}"/> </dataSource> </environment> </environments> <mappers> <!--引入映射文件--> <mapper resource="Mapper/UserMapper.xml"/> </mappers> </configuration>
如果你是跟著我的步驟一步一步來的,那么不需要修改任何地方,可以完全復制。
三、入門測試程序
1.創(chuàng)建表準備數(shù)據(jù)
use mybatis; //創(chuàng)建表 create table Users( uid int not null auto_increment primary key, uname varchar(10) not null, uage int not null ); //插入數(shù)據(jù) insert into Users(uid,uname,uage) values(null,'張三',20),(null,'李四',18);
2.創(chuàng)建 POJO 實體
pojo 包下的 User 類,用于封裝 User 對象的屬性。
package com.tyut.pojo; public class User { private int uid; private String uname; private int uage; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public int getUage() { return uage; } public void setUage(int uage) { this.uage = uage; } }
各變量名稱與數(shù)據(jù)庫里的保持一致,同樣如果你是完全跟著我走的,那可以直接復制了!
3.創(chuàng)建映射文件
Mapper 文件夾下的 UserMapper.xml 文件即映射文件。
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.tyut.pojo.User"> <select id="findById" parameterType="int" resultType="com.tyut.pojo.User"> select * from users where uid = #{id} </select> </mapper>
如果上面配置都是完整跟下來的話,可以直接復制我上面的代碼粘貼到你的 UserMapper.xml 文件里,如果文件名或者數(shù)據(jù)庫里面的表名等等不一樣的話,可自行修改,注意路徑寫對。
每次新建一個實體類就要創(chuàng)建一個映射文件,由于創(chuàng)建映射文件不會提供頭部聲明,復制粘貼起來也很麻煩,所以這里我們可以通過創(chuàng)建一個映射文件模板的方式,新建映射文件。(當然不影響本項目,你可以不創(chuàng)建,只不過為了方便)
具體步驟,F(xiàn)ile → Settings → Editor → File and Code Templates → 加號
復制我的代碼進去:
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.tyut.pojo.User"> </mapper>
別忘了 Apply,下次需要可直接在選項卡中看到 mapperxml!
4.修改核心配置文件
繼續(xù)打開我們前面已經(jīng)創(chuàng)建好的 MybatisConfig.xml 文件,現(xiàn)在我們給它配置文件路徑,至于剛剛為什么沒有配置,是因為這個路徑就是映射文件所在的位置,所以我們先把映射文件編寫完再返回來給 MybatisConfig.xml 設置路徑。
<mappers> <!--配置xxxMapper.xml文件的位置--> <mapper resource="Mapper/UserMapper.xml"/> </mappers>
5.編寫測試類
測試類在Test下的 UserTest 中。
package com.tyut.Test; import com.tyut.pojo.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.Test; import java.io.Reader; import java.io.IOException; public class UserTest { @Test public void userFindByTest() { String resources = "MybatisConfig.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resources); }catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sqlMapper.openSession(); User user = session.selectOne("findById",1); System.out.println("姓名\t年齡"); System.out.println(user.getUname()+"\t"+user.getUage()); session.close(); } }
運行結(jié)果:
到此這篇關(guān)于idea搭建mybatis環(huán)境配置全過程的文章就介紹到這了,更多相關(guān)idea搭建mybatis環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中shiro框架和security框架的區(qū)別
這篇文章主要介紹了Java中shiro框架和security框架的區(qū)別,shiro和security作為兩款流行的功能強大的且易于使用的java安全認證框架,在近些年中的項目開發(fā)過程中使用廣泛,今天我們就來一起了解一下兩者的區(qū)別2023-08-08mybatis條件語句中帶數(shù)組參數(shù)的處理
這篇文章主要介紹了mybatis條件語句中帶數(shù)組參數(shù)的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java練習題之實現(xiàn)平方根(sqrt)函數(shù)
這篇文章主要介紹了Java練習題之實現(xiàn)平方根(sqrt)函數(shù)的相關(guān)資料,平方根是一個數(shù)學概念,表示一個數(shù)的正平方根,文中通過代碼和圖文介紹的非常詳細,需要的朋友可以參考下2023-07-07Spring Cloud Feign接口返回流的實現(xiàn)
這篇文章主要介紹了Spring Cloud Feign接口返回流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10如何讀取properties或yml文件數(shù)據(jù)并匹配
這篇文章主要介紹了如何讀取properties或yml文件數(shù)據(jù)并匹配方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12淺析Java中XPath和JsonPath以及SpEL的用法與對比
XPath,即XML路徑語言,是一種用于在XML文檔中查找信息的語言,JsonPath是從XPath中發(fā)展而來的,專門用于JSON數(shù)據(jù)格式,本文主要來講講他們的用法與區(qū)別,需要的可以參考下2023-11-11