基于MyBatis的簡單使用(推薦)
MyBatis
MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數(shù)以及獲取結果集。MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄。
搭建MyBatis
第一步:先創(chuàng)建一個項目,平常的Java project就行,項目結構先看看
第二步:導入相關的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>
有關MyBatis中xml文件的屬性說明:
<!-- 配置文件的根元素 --> <configuration> <!-- 屬性:定義配置外在化 --> <properties></properties> <!-- 設置:定義mybatis的一些全局性設置 --> <settings> <!-- 具體的參數(shù)名和參數(shù)值 --> <setting name="" value=""/> </settings> <!-- 類型名稱:為一些類定義別名 --> <typeAliases></typeAliases> <!-- 類型處理器:定義Java類型與數(shù)據(jù)庫中的數(shù)據(jù)類型之間的轉換關系 --> <typeHandlers></typeHandlers> <!-- 對象工廠 --> <objectFactory type=""></objectFactory> <!-- 插件:mybatis的插件,插件可以修改mybatis的內部運行規(guī)則 --> <plugins> <plugin interceptor=""></plugin> </plugins> <!-- 環(huán)境:配置mybatis的環(huán)境 --> <environments default=""> <!-- 環(huán)境變量:可以配置多個環(huán)境變量,比如使用多數(shù)據(jù)源時,就需要配置多個環(huán)境變量 --> <environment id=""> <!-- 事務管理器 --> <transactionManager type=""></transactionManager> <!-- 數(shù)據(jù)源 --> <dataSource type=""></dataSource> </environment> </environments> <!-- 數(shù)據(jù)庫廠商標識 --> <databaseIdProvider type=""></databaseIdProvider> <!-- 映射器:指定映射文件或者映射類 --> <mappers></mappers> </configuration>
第四步:創(chuàng)建實體類,這個不用多說了,正常創(chuàng)建就ok
第五步:創(chuàng)建實體類的mapper映射xml文件,位置跟實體類同級,是對實體類的一些操作,在我認為就是配置了sql語句的趕腳,再去方法里調一下
<?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是實體類映射文件的中設置的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(); } }
小項目微服務簡單的開發(fā),運用MyBatis是非常不錯的選擇
以上這篇基于MyBatis的簡單使用(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java中使用JWT生成Token進行接口鑒權實現(xiàn)方法
這篇文章主要介紹了Java中使用JWT生成Token進行接口鑒權實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目
本文主要介紹了java多線程實現(xiàn)同步鎖賣票實戰(zhàn)項目,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01springcloud如何使用dubbo開發(fā)rpc服務及調用
這篇文章主要介紹了springcloud如何使用dubbo開發(fā)rpc服務及調用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01SpringMVC4 + MyBatis3 + SQL Server 2014整合教程(含增刪改查分頁)
這篇文章主要給大家介紹了關于SpringMVC4 + MyBatis3 + SQL Server 2014整合的相關資料,文中包括介紹了增刪改查分頁等相關內容,通過示例代碼介紹的非常詳細,分享出來供大家參考學習,下面來一起看看吧。2017-06-06