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

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - MyBatis快速入門

MyBatis快速入門

2020-08-28 10:54codeRose Java教程

MyBatis是支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。想要學好它,那就要從MyBatis基礎(chǔ)知識學起,下面跟著小編一起來看下吧

一、mybatis背景介紹

mybatis是支持普通sql查詢,存儲過程和高級映射的優(yōu)秀持久層框架。mybatis消除了幾乎所有的jdbc代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。mybatis使用簡單的xml或注解用于配置和原始映射,將接口和java的pojos(plain old java objects,普通的 java對象)映射成數(shù)據(jù)庫中的記錄。

二、mybatis開發(fā)環(huán)境搭建

2.1準備開發(fā)環(huán)境

1.在eclipse中新建一個javaweb項目mybatis_study

MyBatis快速入門

2.添加相應的jar包

 mybatis-3.1.1.jar  

 mysql-connector-java-5.1.7-bin.jar

(注:可在網(wǎng)站 http://www.manyjar.com/showjarhot 搜索下載jar包)

3.將jar包拖到創(chuàng)建項目lib目錄下

MyBatis快速入門

4.用sqlyog工具創(chuàng)建數(shù)據(jù)庫mybatis

?
1
2
3
4
5
create database mybatis;
use mybatis;
create table users(id int primary key auto_increment,name varchar(20),age int);
insert into users(name,age) values('coderose',24);
insert into users(name,age) values('coderose',24);

全選中sql腳本執(zhí)行創(chuàng)建數(shù)據(jù)庫和users表:

MyBatis快速入門

2.2、使用mybatis查詢數(shù)據(jù)庫數(shù)據(jù)

1.創(chuàng)建mybatis配置文件conf.xml(src目錄下)

MyBatis快速入門

conf.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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>
 <environments default="development">
 <environment id="development">
<transactionmanager type="jdbc" />
 <!-- 配置數(shù)據(jù)庫連接信息 -->
 <datasource type="pooled">
<property name="driver" value="com.mysql.jdbc.driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="" />
</datasource>
</environment>
</environments>
</configuration>

2.定義users表中對應的實體類user.java

MyBatis快速入門

user.java

?
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
package coderose.dao;
public class user {
  //實體類的屬性與表中字段一一對應
  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 "user [id=" + id + ", name=" + name + ", age=" + age + "]";
  }
}

3.定義操作users表的sql映射文件usermapper.xml

?
1
2
3
4
5
6
7
8
9
10
11
<?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,namespace的值為包名+sql映射文件名,這樣就能保證namespace值唯一 -->
<mapper namespace="coderose.mapping.usermapper">
  <!-- 在select標簽中編寫查詢的sql語句, 設(shè)置select標簽的id屬性為getuser,id屬性值必須是唯一的,不能夠重復 使用parametertype屬性指明查詢時使用的參數(shù)類型,resulttype屬性指明查詢返回的結(jié)果集類型
    resulttype="me.gacl.domain.user"就表示將查詢結(jié)果封裝成一個user類的對象返回 user類就是users表所對應的實體類 -->
  <!-- 根據(jù)id查詢得到一個user對象 -->
  <select id="getuser" parametertype="int" resulttype="coderose.dao.user">
    select * from users where id=#{id}
  </select>
</mapper>

4.在conf.xml中注冊usermapper.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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>
 <environments default="development">
 <environment id="development">
<transactionmanager type="jdbc" />
 <!-- 配置數(shù)據(jù)庫連接信息 -->
 <datasource type="pooled">
<property name="driver" value="com.mysql.jdbc.driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="" />
</datasource>
</environment>
</environments>
<!-- 注冊sql映射文件 -->
<mappers>
<!-- 包名/文件名 -->
<mapper resource="coderose/mapping/usermapper.xml"/>
</mappers>
</configuration>

5.編寫測試代碼test.java

?
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 coderose.test;
import java.io.inputstream;
import org.apache.ibatis.session.sqlsession;
import org.apache.ibatis.session.sqlsessionfactory;
import org.apache.ibatis.session.sqlsessionfactorybuilder;
import coderose.dao.user;
public class test {
  public static void main(string[] args) {
    // mybatis的配置文件
    string resource="conf.xml";
    //使用類加載器加載mybatis的配置文件(它也加載關(guān)聯(lián)的映射文件)
    inputstream is=test.class.getclassloader().getresourceasstream(resource);
    //構(gòu)建sqlsession的工廠
    sqlsessionfactory sessionfactory=new sqlsessionfactorybuilder().build(is);
    //使用mybatis提供的resources類加載mybatis的配置文件
    //reader reader=resources.getresourceasreader(resource);
    //構(gòu)建sqlsession的工廠
    //sqlsessionfactory sessionfactory=new sqlsessionfactorybuilder().build(reader);
    //創(chuàng)建能執(zhí)行映射文件中sql的sqlsession
    sqlsession session=sessionfactory.opensession();
    /*
     * 映射sql的標識字符串,
     * coderose.mapping.usermapper是usermapper.xml文件中mapper標簽的namespace屬性的值,
     * getuser是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執(zhí)行的sql
     */
    string statement="coderose.mapping.usermapper.getuser";
    //執(zhí)行查詢返回一個唯一user對線的sql
    user user=session.selectone(statement,1);
    system.out.println("查詢所得的數(shù)據(jù)庫信息為:"+user);
  }
}

執(zhí)行結(jié)果如下:

MyBatis快速入門

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務(wù)器之家!

原文鏈接:http://www.cnblogs.com/codeRose/p/6545516.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青青草99热这里都是精品 | 亚洲视频一区二区在线观看 | 99视频精品国在线视频艾草 | 九九九精品视频 | 好爽轻点太大了太深了 | 97视频久久久| 果冻传媒 天美 麻豆 | 不良小说| 无码观看AAAAAAAA片 | 国产码一区二区三区 | 精品日韩视频 | 操到翻白眼 | 97影院手机版 | 久久全国免费久久青青小草 | 国产成人黄网在线免 | 亚洲精品一区在线观看 | 日本xxxxxx片免费播放18 | 九九精品国产亚洲A片无码 九九99热久久999精品 | yellow在线 | 国产亚洲精品一区二区在线播放 | 国产综合久久 | 北岛玲在线播放 | 特级淫片欧美高清视频蜜桃 | 华人亚洲欧美精品国产 | 国产农村一一级特黄毛片 | 99精品国产高清自在线看超 | aaa一级最新毛片 | 色综合久久中文字幕综合网 | 午夜dj影院在线观看完整版 | 加勒比久草 | 亚洲黄色大片 | 日韩在线资源 | 啊好大好粗| 国产福利资源 | 亚洲 欧美 制服 校园 动漫 | 色花堂国产精品首页第一页 | 国产福利专区精品视频 | 人与蛇boxxⅹ | 奇米影视久久777中文字幕 | jk制服蕾丝超短裙流白浆 | 热99re国产久热在线 |