程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> MyBatis若何應用(一)

MyBatis若何應用(一)

編輯:關於JAVA

MyBatis若何應用(一)。本站提示廣大學習愛好者:(MyBatis若何應用(一))文章只能為提供參考,不一定能成為您想要的結果。以下是MyBatis若何應用(一)正文


mybatis作為ORM輕量級框架一湧現就吸引了有數人的眼球,比hibernate要簡略且入門較輕易,上面開端我的第一個mybatis法式。

1、下載mybatis的包

我們曉得任何一個框架都邑有其包,我們從其官方網站下載其包,官網網址為:http://www.mybatis.org/mybatis-3/,我這裡應用的版本為3.3.0。下載完成以後解壓可看到以下的目次構造:

mybatis-3.3.0.jar是其包,lib目次下是其依附包,我們把這些包放到我們的項目中。我這裡創立的是javaweb項目,便利今後做web測試,編寫的法式是通俗的java法式。

2、設置裝備擺設情況

把mybatis的包放到項目標lib目次下以後,接上去時設置裝備擺設mybatis的情況,我們曉得mybatis做為ORM框架,屬於開辟中的DAO層,是和數據庫打交道的,所以我們必需稀有據,這裡以mysql數據為例,詳細的建庫和建表這裡不論述。

在src目次下創立mybatis的設置裝備擺設文件,文件稱號為:configuratin.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>
<!--別號--> 
<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實體類停止解釋,此實體類裡是一些屬性,以下,

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映照文件以下,

<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的情況搭建完成,上面可以停止測試了。

3、測試

上面是測試代碼,

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若何應用(一)的全體論述,願望對年夜家有所贊助。後續還會引見其余版本,更多內容敬請存眷!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved