一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - MyBatis如何使用(一)

MyBatis如何使用(一)

2020-05-31 13:17迷茫中守候 JAVA教程

這篇文章主要介紹了MyBatis如何使用(一)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

mybatis作為ORM輕量級框架一出現就吸引了無數人的眼球,比hibernate要簡單且入門較容易,下面開始我的第一個mybatis程序。

一、下載mybatis的包

我們知道任何一個框架都會有其包,我們從其官方網站下載其包,官網網址為:http://www.mybatis.org/mybatis-3/,我這里使用的版本為3.3.0。下載完成之后解壓可看到如下的目錄結構:

MyBatis如何使用(一)

mybatis-3.3.0.jar是其包,lib目錄下是其依賴包,我們把這些包放到我們的項目中。我這里創建的是javaweb項目,方便以后做web測試,編寫的程序是普通的java程序。

二、配置環境

把mybatis的包放到項目的lib目錄下之后,接下來時配置mybatis的環境,我們知道mybatis做為ORM框架,屬于開發中的DAO層,是和數據庫打交道的,所以我們必須有數據,這里以mysql數據為例,具體的建庫和建表這里不闡述。

在src目錄下創建mybatis的配置文件,文件名稱為:configuratin.xml,文件內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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>
<!--別名-->
<typeAliases>
<typeAlias alias="Message" type="com.cn.imooc.entity.Message"/>
</typeAliases>
<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://127.0.0.1:3306/weixin?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--映射文件-->
<mappers>
<mapper resource="com/cn/mappers/message.xml"/>
</mappers>
</configuration>

在mybatis配置文件中還有很多的配置項這里僅僅使用了這幾個,

<typeAliases> 別名配置,即把實體類做個別名,目的在于在映射文件中使用實體類時不使用全限類名,而是使用別名,起到簡單的作用

<environments> 配置了一些環境 比如數據配置,這里我們配置了數據源

<mappers> 配置映射文件,這里配置了com.cn.mappers包下的message.xml映射文件

下面對Message實體類進行說明,此實體類里是一些屬性,如下,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.cn.imooc.entity;
public class Message {
private String id;
private String command;
private String description;
private String comment;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCommand() {
return command;
}
public void setCommand(String command) {
this.command = command;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
@Override
public String toString() {
return "Message [id=" + id + ", command=" + command + ", description="
+ description + ", comment=" + comment + "]";
}
}

提供了getXXX和setXXX方法,其中setXXX方法很關鍵,我這里的屬性和數據庫的字段名是一致,可以方便使用mybatis查詢出結果之后反射到實體類中,當然也可以和數據庫表字段名不一致,后續會進行說明。

message.xml映射文件如下,

?
1
2
3
4
5
6
7
8
9
10
11
12
<mapper namespace="com.cn.inter.IMessageOperation">
<select id="selectUserByID" parameterType="int" resultType="com.cn.imooc.entity.Message">
select * from `message` where id = #{id}
</select>
<select id="selectMessages" resultType="Message">
select id,
command,
description,
comment
from message;
</select>
</mapper>

這是我的mapper映射文件,里邊有兩個方法,一個是:selectUserById 根據id查詢,另一個是selectMessages 查詢所有

好了,到此為止,我們的mybatis的環境搭建完成,下面可以進行測試了。

三、測試

下面是測試代碼,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.cn.test;
import java.io.IOException;
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.cn.imooc.entity.Message;
public class MyTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Reader reader;
SqlSession sqlSession=null;
try {
//1、獲得sqlSessionFactory
reader = Resources.getResourceAsReader("Configuration.xml");
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
//2、獲得sqlSession
sqlSession=sqlSessionFactory.openSession();
//3、查詢
Message message=sqlSession.selectOne("com.cn.inter.IMessageOperation.selectUserByID", 1);
System.out.println(message);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
sqlSession.close();
}
}
}

從上面可以看出,首先需要一個SqlSessionFactory,然后由sqlSessionFactory獲得sqlSession,由sqlSession執行查詢,使用了selectOne方法,第一個參數是映射文件中的nameSpace+“.”方法名,第二個參數是查詢參數。

以上所述是小編給大家介紹的MyBatis如何使用(一)的全部敘述,希望對大家有所幫助。后續還會介紹別的版本,更多內容敬請關注服務器之家!

原文鏈接:http://www.cnblogs.com/teach/p/5698956.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精油按摩日本 | 日本不卡在线观看免费v | 国产日日干 | 无码人妻丰满熟妇啪啪网不卡 | 波多野结衣女教师在线观看 | 日韩亚洲欧美一区二区三区 | 高清视频一区二区三区 | 五月天网站 | 免费的强动漫人物 | 香蕉成人国产精品免费看网站 | 久久伊人影院 | 男人插曲女人身体 | 国产成人啪精品午夜在线观看 | 俄罗斯烧性春三级k8播放 | 亚洲精品在线免费看 | 欧美日韩一区二区三区免费不卡 | 狠狠的撞击发泄h | 我的绝色岳每雯雯 | 国产高清dvd | 日本高清无吗 | 精品一区二区三区中文 | 34看网片午夜理 | 天堂网在线.www天堂在线视频 | 欧美亚洲一区二区三区在线 | 免费一级特黄特色大片在线 | voyeur多毛厕所 | 欧美另类videos另类粗暴 | 日韩在线第一区 | 亚洲国产自拍在线 | 色哟哟在线视频 | 亚洲精品国产自在现线最新 | 狠狠色综合久久婷婷色天使 | 亚洲精品国产福利片 | 91精品国产综合久久 | 欧美色成人tv在线播放 | 日本加勒比无码av | 久久全国免费久久青青小草 | h杯奶水太多h | 门房秦大爷在线阅读 | 91国内精品线免费播放 | 欧美日韩久久中文字幕 |