基于MyBatis的簡單使用(推薦)
MyBatis
MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄。
搭建MyBatis
第一步:先創(chuàng)建一個項目,平常的Java project就行,項目結(jié)構(gòu)先看看

第二步:導(dǎo)入相關(guān)的jar包(可以上官網(wǎng)下,開源的):
•mybatis-3.4.4.jar MyBatis的jar包
•mysql-connector-java-5.1.13-bin.jar Mysql的jar包
第三步:編寫一個配置文件。是一個XML文件mybatis-config.xml,位置放在src下
<?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> <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/mobile"/> <property name="username" value="zhou"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/entity/UserMapper.xml"/> </mappers> </configuration>
有關(guān)MyBatis中xml文件的屬性說明:
<!-- 配置文件的根元素 --> <configuration> <!-- 屬性:定義配置外在化 --> <properties></properties> <!-- 設(shè)置:定義mybatis的一些全局性設(shè)置 --> <settings> <!-- 具體的參數(shù)名和參數(shù)值 --> <setting name="" value=""/> </settings> <!-- 類型名稱:為一些類定義別名 --> <typeAliases></typeAliases> <!-- 類型處理器:定義Java類型與數(shù)據(jù)庫中的數(shù)據(jù)類型之間的轉(zhuǎn)換關(guān)系 --> <typeHandlers></typeHandlers> <!-- 對象工廠 --> <objectFactory type=""></objectFactory> <!-- 插件:mybatis的插件,插件可以修改mybatis的內(nèi)部運(yùn)行規(guī)則 --> <plugins> <plugin interceptor=""></plugin> </plugins> <!-- 環(huán)境:配置mybatis的環(huán)境 --> <environments default=""> <!-- 環(huán)境變量:可以配置多個環(huán)境變量,比如使用多數(shù)據(jù)源時,就需要配置多個環(huán)境變量 --> <environment id=""> <!-- 事務(wù)管理器 --> <transactionManager type=""></transactionManager> <!-- 數(shù)據(jù)源 --> <dataSource type=""></dataSource> </environment> </environments> <!-- 數(shù)據(jù)庫廠商標(biāo)識 --> <databaseIdProvider type=""></databaseIdProvider> <!-- 映射器:指定映射文件或者映射類 --> <mappers></mappers> </configuration>
第四步:創(chuàng)建實體類,這個不用多說了,正常創(chuàng)建就ok
第五步:創(chuàng)建實體類的mapper映射xml文件,位置跟實體類同級,是對實體類的一些操作,在我認(rèn)為就是配置了sql語句的趕腳,再去方法里調(diào)一下
<?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可以不加xml后綴 -->
<mapper namespace="com.entity.UserMapper">
<!-- 單個對象查詢 -->
<select id="selectUser" parameterType="int" resultType="com.entity.User">
select * from user where id = #{id}
</select>
<!--查詢列表 -->
<resultMap id="userList" type="com.entity.User">
<result property="id" column="id" />
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<select id="selectAll" resultMap="userList">
select * from user
</select>
<!--插入數(shù)據(jù) -->
<insert id="insert" >
insert into User (username,password) values(#{username},#{password})
</insert>
<!--更新數(shù)據(jù) -->
<update id="update">
update User set username = #{username},password = #{password} where id = #{id}
</update>
<!--刪除數(shù)據(jù) -->
<delete id="delete">
delete from User where id = #{id}
</delete>
</mapper>
實體類映射的屬性說明:先看前幾個后面的遇到再說,百度就可以

第六步:編寫一下測試類,測試一下你搭建的是否有用
package com.test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
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 com.entity.User;
/**
*
* @author 堅持到你GL
*
*/
public class Test {
private static SqlSession session=null;
public static SqlSession mySession() {
//你的MyBatis的配置文件地址
String resource = "mybatis-config.xml";
InputStream inputStream=null;
try {
//IO解析xml文件
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//創(chuàng)建一個SqlSessionFactoryBuilder對象,獲得SqlSessionFactory 的實例
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//開啟SqlSession
session=sqlSessionFactory.openSession();
return session;
}
private static void select(){
//selectUser是實體類映射文件的中設(shè)置的id
User user=mySession().selectOne("selectUser",2);
System.out.println(user);
}
private static void selectAll() {
List<User> list=mySession().selectList("selectAll");
for (User user : list) {
System.out.println(user);
}
}
private static void insert() {
User insertuser=new User("zhou","123456");
mySession().insert("insert",insertuser);
session.commit();
}
private static void update() {
User updateuser =new User(9,"admin","admin");
mySession().update("update", updateuser);
session.commit();
}
private static void delect() {
mySession().delete("delete", 10);
session.commit();
}
public static void main(String[] args) {
selectAll();
}
}
小項目微服務(wù)簡單的開發(fā),運(yùn)用MyBatis是非常不錯的選擇
以上這篇基于MyBatis的簡單使用(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot Admin微服務(wù)應(yīng)用監(jiān)控的實現(xiàn)
這篇文章主要介紹了Spring Boot Admin微服務(wù)應(yīng)用監(jiān)控,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
spring mvc @PathVariable綁定URI模板變量值方式
這篇文章主要介紹了spring mvc @PathVariable綁定URI模板變量值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Springboot實現(xiàn)多線程注入bean的工具類操作
這篇文章主要介紹了Springboot實現(xiàn)多線程注入bean的工具類操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Java response響應(yīng)體和文件下載實現(xiàn)原理
這篇文章主要介紹了Java response響應(yīng)體和文件下載實現(xiàn)原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05
Java字符串?dāng)?shù)組的創(chuàng)建代碼示例
這篇文章主要介紹了Java中字符串?dāng)?shù)組的聲明、初始化、默認(rèn)值、遍歷和常見操作,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2025-03-03
使用java基礎(chǔ)類實現(xiàn)zip壓縮和zip解壓工具類分享
使用java基礎(chǔ)類寫的一個簡單的zip壓縮解壓工具類,實現(xiàn)了指定目錄壓縮到和該目錄同名的zip文件和將zip文件解壓到指定的目錄的功能2014-03-03
Spring Boot集成ShedLock分布式定時任務(wù)的實現(xiàn)示例
ShedLock確保您計劃的任務(wù)最多同時執(zhí)行一次。如果一個任務(wù)正在一個節(jié)點上執(zhí)行,則它會獲得一個鎖,該鎖將阻止從另一個節(jié)點(或線程)執(zhí)行同一任務(wù)。2021-05-05

