RM新时代网站-首页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內不再提示

mybatis快速入門

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

mybatis快速入門

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

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

mybatis快速入門

2、添加相應的jar包

【mybatis】

mybatis-3.1.1.jar

【MYSQL驅動包】

mysql-connector-java-5.1.7-bin.jar

mybatis快速入門

3、創(chuàng)建數據庫和表,針對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數據庫中執(zhí)行,完成創(chuàng)建數據庫和表的操作,如下:

mybatis快速入門

到此,前期的開發(fā)環(huán)境準備工作全部完成。

使用MyBatis查詢表中的數據

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

在src目錄下創(chuàng)建一個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

創(chuàng)建一個me.gacl.mapping包,專門用于存放sql映射文件,在包中創(chuàng)建一個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、編寫測試代碼:執(zhí)行定義的select語句

創(chuàng)建一個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);

//創(chuàng)建能執(zhí)行映射文件中sql的sqlSession

SqlSession session = sessionFactory.openSession();

/**

* 映射sql的標識字符串,

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

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

*/

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

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

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

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

//執(zhí)行查詢返回一個唯一user對象的sql

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

System.out.println(user);

}

}

執(zhí)行結果如下:

mybatis快速入門

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

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

    關注

    0

    文章

    60

    瀏覽量

    6709
收藏 人收藏

    評論

    相關推薦

    ADS62PxxEVM快速入門指南

    電子發(fā)燒友網站提供《ADS62PxxEVM快速入門指南.pdf》資料免費下載
    發(fā)表于 12-19 14:29 ?0次下載
    ADS62PxxEVM<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    bq27441-G1快速入門指南

    電子發(fā)燒友網站提供《bq27441-G1快速入門指南.pdf》資料免費下載
    發(fā)表于 12-09 14:43 ?0次下載
    bq27441-G1<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    TVP5154EVM快速入門指南

    電子發(fā)燒友網站提供《TVP5154EVM快速入門指南.pdf》資料免費下載
    發(fā)表于 12-07 14:38 ?0次下載
    TVP5154EVM<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    TVP5146:VBI快速入門

    電子發(fā)燒友網站提供《TVP5146:VBI快速入門.pdf》資料免費下載
    發(fā)表于 12-06 15:24 ?0次下載
    TVP5146:VBI<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    TVP5150A:快速入門指南

    電子發(fā)燒友網站提供《TVP5150A:快速入門指南.pdf》資料免費下載
    發(fā)表于 12-06 14:10 ?0次下載
    TVP5150A:<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    TVP5160 EVM快速入門指南

    電子發(fā)燒友網站提供《TVP5160 EVM快速入門指南.pdf》資料免費下載
    發(fā)表于 12-06 14:03 ?0次下載
    TVP5160 EVM<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    TVP51471M1 VBI快速入門

    電子發(fā)燒友網站提供《TVP51471M1 VBI快速入門.pdf》資料免費下載
    發(fā)表于 09-30 11:52 ?0次下載
    TVP51471M1 VBI<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    TVP5160 VBI快速入門

    電子發(fā)燒友網站提供《TVP5160 VBI快速入門.pdf》資料免費下載
    發(fā)表于 09-30 11:17 ?0次下載
    TVP5160 VBI<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    TVP5150AM1 VBI快速入門

    電子發(fā)燒友網站提供《TVP5150AM1 VBI快速入門.pdf》資料免費下載
    發(fā)表于 09-30 11:06 ?0次下載
    TVP5150AM1 VBI<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    TVP5150A VBI快速入門

    電子發(fā)燒友網站提供《TVP5150A VBI快速入門.pdf》資料免費下載
    發(fā)表于 09-30 09:40 ?0次下載
    TVP5150A VBI<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    TVP5154A VBI快速入門

    電子發(fā)燒友網站提供《TVP5154A VBI快速入門.pdf》資料免費下載
    發(fā)表于 09-29 09:47 ?0次下載
    TVP5154A VBI<b class='flag-5'>快速</b><b class='flag-5'>入門</b>

    PGA460-Q1 EVM快速入門指南

    電子發(fā)燒友網站提供《PGA460-Q1 EVM快速入門指南.pdf》資料免費下載
    發(fā)表于 08-27 11:19 ?0次下載
    PGA460-Q1 EVM<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    AM263Px控制卡快速入門指南

    電子發(fā)燒友網站提供《AM263Px控制卡快速入門指南.pdf》資料免費下載
    發(fā)表于 08-26 09:24 ?0次下載
    AM263Px控制卡<b class='flag-5'>快速</b><b class='flag-5'>入門</b>指南

    CW32快速開發(fā)入門

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

    allegro快速入門教程

    電子發(fā)燒友網站提供《allegro快速入門教程.pdf》資料免費下載
    發(fā)表于 02-29 09:32 ?70次下載
    RM新时代网站-首页