MyBatis入門實例教程之創(chuàng)建一個簡單的程序
準(zhǔn)備:
(1) IDEA 2021
(2)Java 1.8
(3)數(shù)據(jù)庫 MySQL 5.7 (SQLyog 或 Navicat)
在 MySQL 中創(chuàng)建數(shù)據(jù)庫 mybatisdemo,編碼為 utf8
新建表:
USE mybatisdemo CREATE TABLE users( uid INT PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(20) NOT NULL, uage INT NOT NULL ); INSERT INTO users(uid,uname,uage) VALUES(NULL,'張##',25),(NULL,'李##',23),(NULL,'王##',23);
IDEA 創(chuàng)建 maven工程
完成之后如下圖所示:
在 src - main - java 下新建 package, 名字為 com.mybatisdemo.pojo
在 com.mybatisdemo.pojo 中新建類 User.java
package com.mybatisdemo.pojo; public class User { private int uid; //用戶id 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; }
在 resources 下新建文件夾 mapper
在 mapper 下建文件 UserMapper.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"> <!-- mapper為映射的根節(jié)點--> <!-- mapper為映射的根節(jié)點,namespace指定Dao接口的完整類名 mybatis會依據(jù)這個接口動態(tài)創(chuàng)建一個實現(xiàn)類去實現(xiàn)這個接口, 而這個實現(xiàn)類是一個Mapper對象--> <mapper namespace="com.mybatisdemo.pojo.User"> <!--id ="接口中的方法名" parameterType="傳入的參數(shù)類型" resultType = "返回實體類對象,使用包.類名"--> <select id="findById" parameterType="int" resultType="com.mybatisdemo.pojo.User"> select * from users where uid = #{id} </select> </mapper>
在 resources 下新建 db.properties
mysql.driver=com.mysql.cj.jdbc.Driver mysql.url=jdbc:mysql://127.0.0.1:3306/mybatisdemo?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false mysql.username=root mysql.password=123456
在 resources 下新建 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> <!-- 環(huán)境配置 --> <!-- 加載類路徑下的屬性文件 --> <properties resource="db.properties"/> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <!-- 數(shù)據(jù)庫連接相關(guān)配置 ,db.properties文件中的內(nèi)容--> <dataSource type="POOLED"> <property name="driver" value="${mysql.driver}"/> <property name="url" value="${mysql.url}"/> <property name="username" value="${mysql.username}"/> <property name="password" value="${mysql.password}"/> </dataSource> </environment> </environments> <!-- mapping文件路徑配置 --> <mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers> </configuration>
test - java - 下建 package, 名字為Test
test - java - Test 下建立文件 UserTest.java
package Test; import com.mybatisdemo.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.IOException; import java.io.Reader; public class UserTest { @Test public void userFindByIdTest() { //讀取文件名 String resources = "mybatis-config.xml"; //創(chuàng)建流 Reader reader = null; try { //讀取mybatis-config.xml文件內(nèi)容到reader對象中 reader = Resources.getResourceAsReader(resources); } catch (IOException e) { e.printStackTrace(); } //初始化mybatis數(shù)據(jù)庫,創(chuàng)建SqlSessionFactory類的實例 SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader); //創(chuàng)建SqlSession實例 SqlSession session = sqlMapper.openSession(); //傳入?yún)?shù)查詢,返回結(jié)果 User user = session.selectOne("findById", 1); //輸出結(jié)果 System.out.println(user.getUname()); //關(guān)閉session session.close(); } }
修改 pom.xml 文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mybatisdemo</groupId> <artifactId>mybatis_demo01</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <!-- <scope>test</scope>--> <scope>compile</scope> </dependencies> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </build> </project>
最終的文件:
在 UserTest.java 的userFindByIdTest 上右鍵 :
REF
https://www.cnblogs.com/benjieqiang/p/11183580.html
https://blog.csdn.net/qq_32166627/article/details/70741729
https://mybatis.org/mybatis-3/zh/getting-started.html
https://www.w3cschool.cn/mybatis/mybatis-dyr53b5w.html
到此這篇關(guān)于MyBatis入門實例教程之創(chuàng)建一個簡單的程序的文章就介紹到這了,更多相關(guān)mybatis創(chuàng)建程序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java并發(fā)中的ABA問題學(xué)習(xí)與解決方案
這篇文章主要介紹了Java并發(fā)中的ABA問題學(xué)習(xí)與解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05Java經(jīng)典算法匯總之選擇排序(SelectionSort)
選擇排序也是比較簡單的一種排序方法,原理也比較容易理解,選擇排序在每次遍歷過程中只記錄下來最小的一個元素的下標(biāo),待全部比較結(jié)束之后,將最小的元素與未排序的那部分序列的最前面一個元素交換,這樣就降低了交換的次數(shù),提高了排序效率。2016-04-04Java方法調(diào)用解析靜態(tài)分派動態(tài)分派執(zhí)行過程
這篇文章主要為大家介紹了Java方法調(diào)用解析靜態(tài)分派動態(tài)分派執(zhí)行過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06SprinBoot整合Quart實現(xiàn)定時調(diào)度的示例代碼
這篇文章主要介紹了SprinBoot整合Quart實現(xiàn)定時調(diào)度的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10SpringBoot實現(xiàn)識別圖片中的身份證號與營業(yè)執(zhí)照信息
這篇文章主要為大家詳細介紹了SpringBoot如何實現(xiàn)識別圖片中的身份證號與營業(yè)執(zhí)照信息,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2024-01-01