<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

mybatis快速入門

lhl545545 ? 來源:電子發燒友網 ? 2018-02-24 09:41 ? 次閱讀

mybatis快速入門

準備開發環境

1、創建測試項目,普通java項目或者是JavaWeb項目均可,如下圖所示:

mybatis快速入門

2、添加相應的jar包

【mybatis】

mybatis-3.1.1.jar

【MYSQL驅動包】

mysql-connector-java-5.1.7-bin.jar

mybatis快速入門

3、創建數據庫和表,針對MySQL數據庫

SQL腳本如下:

1 create database mybatis;

2 use mybatis;

3 CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);

4 INSERT INTO users(NAME, age) VALUES(‘孤傲蒼狼’, 27);

5 INSERT INTO users(NAME, age) VALUES(‘白虎神皇’, 27);

將SQL腳本在MySQL數據庫中執行,完成創建數據庫和表的操作,如下:

mybatis快速入門

到此,前期的開發環境準備工作全部完成。

使用MyBatis查詢表中的數據

1、添加Mybatis的配置文件conf.xml

在src目錄下創建一個conf.xml文件,如下圖所示:

mybatis快速入門

conf.xml文件中的內容如下:

1 《?xml version=“1.0” encoding=“UTF-8”?>

2 《!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd”>

3 《configuration>

4 《environments default=“development”>

5 《environment id=“development”>

6 《transactionManager type=“JDBC” />

7 《!-- 配置數據庫連接信息 -->

8 《dataSource type=“POOLED”>

9 《property name=“driver” value=“com.mysql.jdbc.Driver” />

10 《property name=“url” value=“jdbc:mysql://localhost:3306/mybatis” />

11 《property name=“username” value=“root” />

12 《property name=“password” value=“XDP” />

13 《/dataSource>

14 《/environment>

15 《/environments>

16

17 《/configuration>

2、定義表所對應的實體類,如下圖所示:

mybatis快速入門

User類的代碼如下:

1 package me.gacl.domain;

2

3 /**

4 * @author gacl

5 * users表所對應的實體類

6 */

7 public class User {

8

9 //實體類的屬性和表的字段名稱一一對應

10 private int id;

11 private String name;

12 private int age;

13

14 public int getId() {

15 return id;

16 }

17

18 public void setId(int id) {

19 this.id = id;

20 }

21

22 public String getName() {

23 return name;

24 }

25

26 public void setName(String name) {

27 this.name = name;

28 }

29

30 public int getAge() {

31 return age;

32 }

33

34 public void setAge(int age) {

35 this.age = age;

36 }

37

38 @Override

39 public String toString() {

40 return “User [id=” + id + “, name=” + name + “, age=” + age + “]”;

41 }

42 }

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

創建一個me.gacl.mapping包,專門用于存放sql映射文件,在包中創建一個userMapper.xml文件,如下圖所示:

mybatis快速入門

userMapper.xml文件的內容如下:

1 《?xml version=“1.0” encoding=“UTF-8” ?>

2 《!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN” “http://mybatis.org/dtd/mybatis-3-mapper.dtd”>

3 《!-- 為這個mapper指定一個唯一的namespace,namespace的值習慣上設置成包名+sql映射文件名,這樣就能夠保證namespace的值是唯一的

4 例如namespace=“me.gacl.mapping.userMapper”就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后綴)

5 -->

6 《mapper namespace=“me.gacl.mapping.userMapper”>

7 《!-- 在select標簽中編寫查詢的SQL語句, 設置select標簽的id屬性為getUser,id屬性值必須是唯一的,不能夠重復

8 使用parameterType屬性指明查詢時使用的參數類型,resultType屬性指明查詢返回的結果集類型

9 resultType=“me.gacl.domain.User”就表示將查詢結果封裝成一個User類的對象返回

10 User類就是users表所對應的實體類

11 -->

12 《!--

13 根據id查詢得到一個user對象

14 -->

15 《select id=“getUser” parameterType=“int”

16 resultType=“me.gacl.domain.User”>

17 select * from users where id=#{id}

18 《/select>

19 《/mapper>

4、在conf.xml文件中注冊userMapper.xml文件

1 《?xml version=“1.0” encoding=“UTF-8”?>

2 《!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd”>

3 《configuration>

4 《environments default=“development”>

5 《environment id=“development”>

6 《transactionManager type=“JDBC” />

7 《!-- 配置數據庫連接信息 -->

8 《dataSource type=“POOLED”>

9 《property name=“driver” value=“com.mysql.jdbc.Driver” />

10 《property name=“url” value=“jdbc:mysql://localhost:3306/mybatis” />

11 《property name=“username” value=“root” />

12 《property name=“password” value=“XDP” />

13 《/dataSource>

14 《/environment>

15 《/environments>

16

17 《mappers>

18 《!-- 注冊userMapper.xml文件,

19 userMapper.xml位于me.gacl.mapping這個包下,所以resource寫成me/gacl/mapping/userMapper.xml-->

20 《mapper resource=“me/gacl/mapping/userMapper.xml”/>

21 《/mappers>

22

23 《/configuration>

5、編寫測試代碼:執行定義的select語句

創建一個Test1類,編寫如下的測試代碼:

package me.gacl.test;

import java.io.IOException;

import java.io.InputStream;

import java.io.Reader;

import me.gacl.domain.User;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test1 {

public static void main(String[] args) throws IOException {

//mybatis的配置文件

String resource = “conf.xml”;

//使用類加載器加載mybatis的配置文件(它也加載關聯的映射文件)

InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);

//構建sqlSession的工廠

SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);

//使用MyBatis提供的Resources類加載mybatis的配置文件(它也加載關聯的映射文件)

//Reader reader = Resources.getResourceAsReader(resource);

//構建sqlSession的工廠

//SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);

//創建能執行映射文件中sql的sqlSession

SqlSession session = sessionFactory.openSession();

/**

* 映射sql的標識字符串,

* me.gacl.mapping.userMapper是userMapper.xml文件中mapper標簽的namespace屬性的值,

* getUser是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執行的SQL

*/

//在命名空間“me.gacl.mapping.userMapper”中定義了一個名為“getUser”的映射語句,

//這樣它就允許你使用指定的完全限定名“me.gacl.mapping.userMapper.getUser”來調用映射語句,

//格式:命名空間名(namespace)+映射語句名(id)

String statement = “me.gacl.mapping.userMapper.getUser”;//映射sql的標識字符串

//執行查詢返回一個唯一user對象的sql

User user = session.selectOne(statement, 1);

System.out.println(user);

}

}

執行結果如下:

mybatis快速入門

可以看到,數據庫中的記錄已經成功查詢出來了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mybatis
    +關注

    關注

    0

    文章

    57

    瀏覽量

    6676
收藏 人收藏

    評論

    相關推薦

    CW32快速開發入門

    CW32快速開發入門
    的頭像 發表于 04-24 18:56 ?1283次閱讀
    CW32<b class='flag-5'>快速</b>開發<b class='flag-5'>入門</b>

    allegro快速入門教程

    電子發燒友網站提供《allegro快速入門教程.pdf》資料免費下載
    發表于 02-29 09:32 ?63次下載

    mybatis框架的主要作用

    。MyBatis框架的主要作用包括以下幾個方面。 數據庫操作的簡化和標準化: MyBatis框架提供了一種簡單的方式來執行數據庫操作,包括插入、更新、刪除和查詢等操作。通過使用MyBatis的API,開發人員可以
    的頭像 發表于 12-03 14:49 ?1558次閱讀

    mybatis和mybatisplus的區別

    MyBatisMyBatis Plus是兩個非常受歡迎的Java持久層框架。這兩個框架在設計和功能上有一些區別,下面我將詳細介紹它們之間的差異以及各自的特點。 設計理念與目標: MyBatis
    的頭像 發表于 12-03 11:53 ?1580次閱讀

    mybatis接口動態代理原理

    MyBatis是一款輕量級的Java持久化框架,它通過XML或注解配置的方式,將數據庫操作與SQL語句解耦,提供了一種簡單、靈活的數據訪問方式。在MyBatis中,使用動態代理技術來實現接口的代理
    的頭像 發表于 12-03 11:52 ?501次閱讀

    mybatis的dao能重載嗎

    MyBatis的DAO能否重載? 在MyBatis中,DAO是數據訪問對象的縮寫,用于執行與數據庫交互的操作。MyBatis的DAO可以重載,即可以定義多個具有不同參數的相同方法名的方法,以滿足
    的頭像 發表于 12-03 11:51 ?706次閱讀

    Verilog設計快速入門秘籍

    Verilog設計快速入門秘籍,拿走不謝!
    發表于 11-03 12:00

    AT32 IDE快速入門指南

    AT32 IDE 快速入門指南幫助用戶快速熟悉Artery AT32 IDE的簡明指南。
    發表于 10-26 06:13

    YROTATE-IT-S5D9 快速入門指南

    YROTATE-IT-S5D9 快速入門指南
    發表于 07-06 21:02 ?0次下載
    YROTATE-IT-S5D9 <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    NL5 快速入門指南

    NL5 快速入門指南
    發表于 07-06 19:59 ?0次下載
    NL5 <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    FT 6050 EVK 快速入門

    FT 6050 EVK 快速入門
    發表于 07-04 20:45 ?0次下載
    FT 6050 EVK <b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    TileLib 快速入門指南

    TileLib 快速入門指南
    發表于 07-04 20:32 ?0次下載
    TileLib <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    [e2 studio] 瑞薩 RX660 入門套件快速入門指南

    [e2 studio] 瑞薩 RX660 入門套件快速入門指南
    發表于 07-03 19:34 ?0次下載
    [e2 studio] 瑞薩 RX660 <b class='flag-5'>入門</b>套件<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    Qt for MCUs 快速入門指南

    Qt for MCUs 快速入門指南
    發表于 06-30 19:16 ?1次下載
    Qt for MCUs <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    Lab on the Cloud 快速入門指南

    Lab on the Cloud 快速入門指南
    發表于 06-29 19:02 ?0次下載
    Lab on the Cloud <b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>