日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis_user_guide(2)mybatis3.4.0快速入门

發布時間:2023/12/3 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis_user_guide(2)mybatis3.4.0快速入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【0】README 0)以下部分內容轉自:“mybatis v.3.4.0 User Guide”; 1)本文旨在梳理 如何 構建 mybatis ?環境,與 db 連接,且采用 JUnit 搭建其測試用例; 2)本文的環境配置都是基于純 mybatis 的 jar 包,沒有和 spring 或 springmvc 等第三方框架結合;測試用例通過 JUnit 來做; 3)for complete source code including mybatis jar and source jar, please visit ?https://github.com/pacosonTang/MyBatis/tree/master/mybatis_user_guide2
【1】mybatis 核心對象的作用域和生命周期 1)核心對象: 1.1)SqlSessionFactoryBuilder:用來創建SqlSessionFactory?對象;?一旦使用該對象創建了?SqlSessionFactory 對象后,它就可以被 jvm 銷毀了,故其最佳作用域是在方法內,即在方法內部聲明?SqlSessionFactoryBuilder 對象來創建?SqlSessionFactory;(干貨——創建完?SqlSessionFactory 實例后,SqlSessionFactoryBuilder 就可以被銷毀了) 1.2)SqlSessionFactory:用來創建SqlSession對象;該實例應該在應用程序執行期間都存在;不需要每次操作數據庫是都重新創建它,所以應用它的最佳方式是寫一個單例模式來創建;(干貨——采用單例模式來創建?SqlSessionFactory) package com.mybatis.service;import java.io.IOException; import java.io.InputStream;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class BaseService {protected static SqlSessionFactory sqlSessionFactory;public BaseService() {sqlSessionFactory = createSqlSessionFactory();}private static SqlSessionFactory createSqlSessionFactory() {if(sqlSessionFactory == null) {String resource = "mybatis-config.xml";InputStream inputStream = null;try {inputStream = Resources.getResourceAsStream(resource);} catch (IOException e) {e.printStackTrace();}return new SqlSessionFactoryBuilder().build(inputStream);} else {return sqlSessionFactory;}}public SqlSessionFactory getSqlSessionFactory() {return sqlSessionFactory;} } 1.3)SqlSession:用來獲取映射器;每個線程都有它自己的 SqlSession實例,該實例是不能被共享且是線程不安全的;它的最佳作用域是request 請求 或 方法作用域;即每一次request 請求都要創建一個 SqlSession 實例;(不能再干貨——每次訪問結果后,請務必關閉 SqlSession) package com.mybatis.service;import org.apache.ibatis.session.SqlSession;import com.mybatis.dao.BlogMapper; import com.mybatis.model.Blog;public class BlogService extends BaseService {private SqlSession session;public BlogService() {super();session = sqlSessionFactory.openSession();}public SqlSession openSession() {return sqlSessionFactory.openSession();// sqlSessionFactory 由 BaseService 創建.}public Blog selectBlogById() {// method2. strongly recommended.session = sqlSessionFactory.openSession(); try {BlogMapper mapper = session.getMapper(BlogMapper.class);return mapper.selectBlog(1); } finally {session.close();}/*try { // method1.Blog blog = session.selectOne("com.mybatis.dao.BlogMapper.selectBlog", 1);return mapper.selectBlog(1);} finally {session.close();}*/} } 2)映射器:要知道 mybatis 可以對方法進行映射,將 數據庫訪問方法的輸入和輸出參數都看做是對象;(干貨——mybatis 可以對方法進行映射,將 數據庫訪問方法的輸入和輸出參數都看做是對象,多個輸入參數添加到Map) step1)獲取映射器:它是有 上述提到到?SqlSession 得到的; step2)調用該映射器的相關方法: 與數據庫進行交互, Bingo; Attention)參見 上面?com.mybatis.service.BlogService.java;
【2】mybatis 環境配置 step1)獲取 mybatis的 jar 和 source jar,?安裝 generator mybatis的插件,參見?http://blog.csdn.net/pacosonswjtu/article/details/51693186,當然也可以maven 自行構建; step2)建立數據庫和數據庫表;

step3)修改 generatorConfig.xml文件,然后利用generator 自動生成 mybatis 映射文件
step4)配置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><properties resource="jdbc.properties" /><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /></dataSource></environment></environments><mappers><mapper resource="com/mybatis/dao/BlogMapper.xml" /></mappers> </configuration> step4.1)建立?mybatis-config.xml文件用到的?jdbc.properties 屬性文件; driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/t_mybatis username=root password=root #定義初始連接數 initialSize=0 #定義最大連接數 maxTotal=20 #定義最大空閑 maxIdle=20 #定義最小空閑 minIdle=1 #定義最長等待時間 maxWait=60000 step4.2)配置?mybatis-config.xml文件用到的?剛剛生成的 BlogMapper.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 namespace="com.mybatis.dao.BlogMapper"><select id="selectBlog" resultType="com.mybatis.model.Blog">select * from Blog where id = #{id}</select> </mapper> Attention)至此,mybatis的環境搭建已經完畢,請依照個人習慣,將上述映射文件,配置文件放入到 習慣性的 package 下面;(package 變了,注意要修改相關的 xml 文件)
【3】建立測試用例 1)測試用例如下: public class MyTest {@Testpublic void test1() {BlogService service = new BlogService();Blog blog = service.selectBlogById();System.out.println(blog.getTitle());} } 2)測試結果(Bingo):

【4】梳理 mybatis 從 client 到db 的 調用過程;


總結

以上是生活随笔為你收集整理的mybatis_user_guide(2)mybatis3.4.0快速入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。