国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Mybatis環(huán)境配置及測(cè)試詳解

瀏覽:42日期:2023-10-20 12:08:26

mybatis 3 | 參考文檔

MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。

MyBatis 可以通過(guò)簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對(duì)象)為數(shù)據(jù)庫(kù)中的記錄。

一、mybatis環(huán)境配置

1.通過(guò)maven的pom.xml文件引入mybatis需要的包

在其<dependencies></dependencies>標(biāo)簽中添加如下代碼

<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.1</version> </dependency>

2.在src/main/resources下新建mybatis-config.xml文件

并進(jìn)行xml文件和config的dtd文件的聲明

<?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'>

3.在mybatis-config.xml文件中的<configuration></configuration>中對(duì)數(shù)據(jù)庫(kù)進(jìn)行配置

<configuration> <settings><!-- 開(kāi)啟駝峰命名轉(zhuǎn)換,若底層數(shù)據(jù)庫(kù)表項(xiàng)為goods_ID,實(shí)體類為goodsId ,則自動(dòng)轉(zhuǎn)換--> <setting name='mapUnderscoreToCamelCase' value='true'/> </settings> <!-- 設(shè)置默認(rèn)指向的數(shù)據(jù)庫(kù) --> <environments default='dev'> <environment id='dev'> <!-- 采用JDBC方式對(duì)數(shù)據(jù)庫(kù)事務(wù)進(jìn)行commit/rollback --> <transactionManager type='JDBC'></transactionManager> <!-- 采用連接池的方式管理數(shù)據(jù)庫(kù)連接 --> <dataSource type='POOLED'><property name='driver' value='com.mysql.jdbc.Driver'/><property name='url' value='jdbc:mysql://localhost:3306/babytun?useUnicode=true&amp;characterEncoding=UTF-8'/><property name='username' value='root'/><property name='password' value='123456'/> </dataSource> </environment> </environments></configuration>

4.通過(guò)SqlSessionFactory構(gòu)建SqlSession會(huì)話實(shí)例

每個(gè)基于 MyBatis 的應(yīng)用都是以一個(gè) SqlSessionFactory 的實(shí)例為核心的。SqlSessionFactory 的實(shí)例可以通過(guò) SqlSessionFactoryBuilder 獲得。而 SqlSessionFactoryBuilder 則可以從 XML 配置文件或一個(gè)預(yù)先配置的 Configuration 實(shí)例來(lái)構(gòu)建出 SqlSessionFactory 實(shí)例。

從 XML 文件中構(gòu)建 SqlSessionFactory 的實(shí)例非常簡(jiǎn)單,建議使用類路徑下的資源文件進(jìn)行配置。 但也可以使用任意的輸入流(InputStream)實(shí)例,比如用文件路徑字符串或 file:// URL 構(gòu)造的輸入流。MyBatis 包含一個(gè)名叫 Resources 的工具類,它包含一些實(shí)用方法,使得從類路徑或其它位置加載資源文件更加容易。

通常SqlSession是全局唯一的,通過(guò)MybatisUtils工具類減少重復(fù)代碼

public class MybatisUtils { //利用static靜態(tài) 屬于類而不屬于對(duì)象 , 保證全局唯一 private static SqlSessionFactory sqlSessionFactory = null ; //利用靜態(tài)塊在初始化類時(shí)實(shí)力話SqlSessionFactory static { Reader reader = null; try { reader = Resources.getResourceAsReader('mybatis-config.xml'); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader) ; } catch (IOException e) { e.printStackTrace(); //初始化過(guò)程中出現(xiàn)的異常 throw new ExceptionInInitializerError(e) ; } } /** * 創(chuàng)建一個(gè)新的sqlsession對(duì)象 * @return sqlsession對(duì)象 * */ public static SqlSession openSession(){ return sqlSessionFactory.openSession() ; } public static void closeSession(SqlSession sqlSession){ if(sqlSession != null ){ sqlSession.close(); } }}5.通過(guò)SqlSession對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作

在entity包下創(chuàng)建要操作的數(shù)據(jù)庫(kù)表對(duì)應(yīng)的實(shí)體類(必須使用駝峰命名和設(shè)置get和set方法),同時(shí)在resources目錄下創(chuàng)建mappers目錄,在mappers目錄下創(chuàng)建與該實(shí)體類同名的xml文件,在對(duì)其進(jìn)行xml聲明和mapperdtd文件聲明(注意與mybatis-config.xml的dtd文件聲明的區(qū)別)

<?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'>

然后在mybatis-config.xml文件引入該實(shí)體與數(shù)據(jù)庫(kù)的映射。即在其<mappers></mappers>標(biāo)簽中添加映射xml文件路徑

<mappers> <mapper resource='mappers/goods.xml' /> <mapper resource='mappers/goods_detail.xml' /> </mappers>

當(dāng)數(shù)據(jù)庫(kù)列字段名為多單詞且用'_'拼接時(shí),還需在其<configuration></configuration>標(biāo)簽中開(kāi)啟駝峰命名轉(zhuǎn)換,使Mybatis自動(dòng)完成映射。

<settings><!-- 開(kāi)啟駝峰命名轉(zhuǎn)換,若底層數(shù)據(jù)庫(kù)表項(xiàng)為goods_ID,實(shí)體類為goodsId ,則自動(dòng)轉(zhuǎn)換--> <setting name='mapUnderscoreToCamelCase' value='true'/> </settings>

到此為止,mybatis需要的配置就已全部完成。

運(yùn)行程序測(cè)試結(jié)果

在 src 源碼目錄下建立 一個(gè)類叫作:HelloWord, 來(lái)運(yùn)行測(cè)試配置環(huán)境是否成功,具體代碼如下示:

import java.io.Reader;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.yiibai.mybatis.models.*;/** * * @author yiibai * @copyright //www.jb51.net * @date 2015/09/22 */public class HelloWord { private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static { try { reader = Resources.getResourceAsReader('config/Configure.xml'); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getSession() { return sqlSessionFactory; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub SqlSession session = sqlSessionFactory.openSession(); try { User user = (User) session.selectOne( 'com.yiibai.mybatis.models.UserMapper.GetUserByID', 1); if(user!=null){ String userInfo = '名字:'+user.getName()+', 所屬部門(mén):'+user.getDept()+', 主頁(yè):'+user.getWebsite(); System.out.println(userInfo); } } finally { session.close(); } }}

現(xiàn)在運(yùn)行這個(gè)程序,不是得到查詢結(jié)果了?正確的輸出結(jié)果應(yīng)該如下:

名字:yiibai, 所屬部門(mén):Tech, 主頁(yè)://www.jb51.net

到此這篇關(guān)于Mybatis環(huán)境配置及測(cè)試詳解的文章就介紹到這了,更多相關(guān)Mybatis環(huán)境配置內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

相關(guān)文章:
主站蜘蛛池模板: 在线观看日本视频免费 | 免费一级特黄欧美大片勹久久网 | 91社区视频 | 99热久久精品国产 | 国产日韩免费 | 五月色一区二区亚洲小说 | 不卡精品国产_亚洲人成在线 | 亚洲精品自产拍在线观看 | 国产精品久久久久久久久久98 | 成熟性xxxxx 成网站在线观看人免费 | 毛片特黄 | 欧美一级特黄特黄毛片 | 久久91在线 | 欧美午夜伦y4480私人影院 | 日本a级特黄三级三级三级 日本a一级片 | 欧美日韩在线永久免费播放 | 国产a精品 | 久草在线视频免费资源观看 | 精品91一区二区三区 | 91久久青青草原免费 | 欧美久久视频 | 亚洲欧美日韩国产综合高清 | av成人天堂 | 九草在线 | 亚洲成人在线网 | 国产午夜a理论毛片在线影院 | 午夜mm131美女做爰视频 | 日本不卡在线一区二区三区视频 | 成人a大片高清在线观看 | 午夜在线亚洲男人午在线 | 亚洲第99页| 国产一级片网址 | 亚洲成人在线播放视频 | 欧美精品另类 | 在线播放一级片 | 国产欧美日韩一区 | 国产日韩欧美综合一区二区三区 | 欧美色欧美亚洲高清在线视频 | 边接电话边做国语高清对白 | 欧美亚洲日本韩国一级毛片 | 香蕉香蕉国产片一级一级毛片 |