摘要:要想使用需要在的中導(dǎo)入包和的驅(qū)動包每個基于的應(yīng)用都是以一個的實例為中心的的實例可以通過獲得則可以從配置文件或一個預(yù)先定制的的實例構(gòu)建出的實例配置文件中包含了對系統(tǒng)的核心設(shè)置,包含獲取數(shù)據(jù)庫連接實例的數(shù)據(jù)源和決定事務(wù)作用域和控制方式的事
1 要想使用mybatis 需要在maven的pom.xml中導(dǎo)入jar包和mysql的驅(qū)動包
org.mybatis mybatis 3.2.8 Mysql mysql-connector-java 5.1.38
2 每個基于 MyBatis 的應(yīng)用都是以一個 SqlSessionFactory 的實例為中心的
SqlSessionFactory 的實例可以通過 SqlSessionFactoryBuilder 獲得
SqlSessionFactoryBuilder 則可以從 XML 配置文件或一個預(yù)先定制的 Configuration 的實例構(gòu)建出
SqlSessionFactory 的實例
String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
XML 配置文件(configuration XML)中包含了對 MyBatis 系統(tǒng)的核心設(shè)置,包含獲取數(shù)據(jù)庫連接實例的數(shù)據(jù)源(DataSource)和決定事務(wù)作用域和控制方式的事務(wù)管理器(TransactionManager)
3 配置文件
jdbc.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/數(shù)據(jù)庫名?useUnicode=true&characterEncoding=utf-8 username=***** password=*****
mybatis-config.xml
BlogMapper.xml
4 接口和實體類以及數(shù)據(jù)庫表結(jié)構(gòu)
dao層接口
package com.dsying.dao; import com.dsying.bean.Blog; public interface BlogMapper { Blog selectBlog(int id); }
實體類
package com.dsying.bean; public class Blog { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Blog{" + "id=" + id + ", name="" + name + """ + ", age=" + age + "}"; } }
表結(jié)構(gòu)
CREATE TABLE `blog` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8
5 測試
String resource = "mybatis-config.xml"; InputStream inputStream =null; SqlSession sqlSession =null; try { inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //從sqlSessionFactory 中 獲取sqlSession // sqlSession = sqlSessionFactory.openSession(); BlogMapper blogMapper = sqlSession.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog(1); System.out.println(blog.toString()); }catch (Exception e){ e.printStackTrace(); }finally { sqlSession.close(); }
6 結(jié)果
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68441.html
摘要:學(xué)習(xí)筆記有官方的中文開發(fā)文檔并且針對使用者比較友好是一款優(yōu)秀的持久層框架,它支持定制化存儲過程以及高級映射。它只和配置有關(guān),存在的意義僅在于用來減少類完全限定名的冗余,為了簡化中的書寫。 Mybatis學(xué)習(xí)筆記 mybatis有官方的中文開發(fā)文檔并且針對使用者比較友好:http://www.mybatis.org/mybatis-3/zh/ MyBatis 是一款優(yōu)秀的持久層框架,它支...
摘要:關(guān)閉進(jìn)程問題順利解決。問題泄也是一個奇葩的問題,百度一下,原來碰到的人挺多,原因就是高版本的驅(qū)動會有數(shù)據(jù)庫和系統(tǒng)時區(qū)差異我用的版本是,所以碰到了,修改下配置,執(zhí)行時區(qū)就可以了或者用回版本,該版本不會存在時區(qū)問題。 本文主要在上一篇Spring Boot學(xué)習(xí)筆記(四)構(gòu)建RESTful API標(biāo)準(zhǔn)工程實例的基礎(chǔ)上,整合MyBatis,實現(xiàn)簡單的MySql數(shù)據(jù)庫訪問 引入依賴 這里主要依賴...
摘要:目標(biāo)創(chuàng)建一個簡單的框架的程序,實現(xiàn)對數(shù)據(jù)庫的讀取操作。的核心配置文件核心配置文件,配置數(shù)據(jù)庫連接信息事物等每一個都需要在核心配置文件中注冊工具類獲取第一步獲取對象既然有了,顧名思義,我們可以從中獲得的實例。 ...
摘要:前兩篇已經(jīng)構(gòu)建了標(biāo)準(zhǔn)工程實例,也整合了實現(xiàn)了簡單數(shù)據(jù)庫訪問,本篇主要更深入的學(xué)習(xí)下,實現(xiàn)較為完整的數(shù)據(jù)庫的標(biāo)準(zhǔn)服務(wù)。到這里,最復(fù)雜的數(shù)據(jù)訪問基本就算編寫完了。 前兩篇已經(jīng)構(gòu)建了RESTful API標(biāo)準(zhǔn)工程實例,也整合了MyBatis實現(xiàn)了簡單數(shù)據(jù)庫訪問,本篇主要更深入的學(xué)習(xí)下,實現(xiàn)較為完整的數(shù)據(jù)庫CRUD的標(biāo)準(zhǔn)服務(wù)。 首先看下要實現(xiàn)的效果吧,完成下面截圖部分的API,除了CRUD之外...
摘要:將語句硬編碼到代碼中,修改語句需要重新編譯代碼設(shè)想使用配置文件配置。從結(jié)果集中遍歷數(shù)據(jù)的時候存在硬編碼。表示一個拼接符號,會引用注入,所以不建議使用。和表示查詢出一條記錄進(jìn)行映射。 MyBatis是什么 mybatis是托管在github上的ORM框架,讓程序員將主要精力放在SQL上,通過mybatis提供映射方式,自由靈活(SQL的可定制性較高,半自動化)生成滿足需求的SQL語句。m...
閱讀 2797·2021-11-24 09:39
閱讀 2558·2021-11-23 09:51
閱讀 1871·2021-11-17 09:33
閱讀 1752·2021-10-22 09:54
閱讀 1884·2021-08-16 11:00
閱讀 3436·2019-08-30 15:53
閱讀 1743·2019-08-30 13:19
閱讀 2915·2019-08-30 12:49