Mybatis基礎(chǔ)

來千鋒學(xué)習(xí)的第22天
Mybatis基礎(chǔ)
添加mybatis的依賴,目前版本是3.4.6,除此之外還有junit和mysql的驅(qū)動(dòng)依賴分別引入進(jìn)來

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.qfedu</groupId>
    <artifactId>Days21Mybatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
    </dependencies>

</project>
在resources目錄下新增一個(gè)mybatis的配置文件,mybatis.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">

<!--
    該配置文件中包含一個(gè)configuration節(jié)點(diǎn)
        里面有配置信息 分別是環(huán)境和映射
         其中環(huán)境里有datasource,里面有我們熟悉的連接數(shù)據(jù)庫(kù)的四個(gè)字符串
-->
<configuration>
    <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://localhost:3306/hello"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/qfedu/pojo/UserMapper.xml"/>
    </mappers>
</configuration>

在com.qfedu.pojo的包下創(chuàng)建User.java文件

package com.qfedu.pojo;

public class User {

    private int uid;
    private String username;
    private String password;
    private int age;
    private String addr;

    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", age=" + age +
                ", addr='" + addr + '\'' +
                '}';
    }

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getAddr() {
        return addr;
    }

    public void setAddr(String addr) {
        this.addr = addr;
    }
}

在com/qfedu/pojo的目錄下創(chuàng)建UserMapper.xml文件

<?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="com.qfedu.pojo.UserMapper">
    <select id="selectUser" resultType="com.qfedu.pojo.User">
    select * from user
  </select>
</mapper>
TestUser.java

package com.qfedu.test;

import com.qfedu.pojo.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;
import org.junit.Test;

import java.io.IOException;
import java.sql.Connection;
import java.util.List;

public class TestUser {

    @Test
    public void testGetAllUsers(){

        /**
         *  1.  使用mybatis的配置文件以及SqlSessionFactoryBuilder建造者模式創(chuàng)建SqlSessionFactory對(duì)象
         *  2.  使用SqlSessionFactory對(duì)象的openSession()方法來得到一個(gè)SqlSession對(duì)象,用該對(duì)象即可完成對(duì)象的所有的crud操作
         *  3.  使用SqlSession對(duì)象來完成crud操作
         *  4.  關(guān)閉資源
         *
         */
        try {
            SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis.xml"));

            SqlSession session = sf.openSession();

            /**
             * session的crud方法("namespace.id");整個(gè)項(xiàng)目中的namespace.id必須唯一
             */
            List<User> users = session.selectList("com.qfedu.pojo.UserMapper.selectUser");

            for (User u : users) {
                System.out.println(u);
            }

            if(session != null){
                session.close();
                session = null;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
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
37
38
39
40
41
42
43
44
45
46
47
48
執(zhí)行結(jié)果

User{uid=1, username='sunwukong', password='111111', age=500, addr='huaguoshan'}
User{uid=2, username='zhubajie', password='222222', age=2000, addr='gaolaozhuang'}
User{uid=3, username='shaheshang', password='333333', age=500, addr='liushahe'}
User{uid=4, username='tangtang', password='444444', age=20, addr='datangwangchao'}
User{uid=5, username='baikongma', password='555555', age=100, addr='longgong'}
User{uid=6, username='1111', password='', age=20, addr=''}
User{uid=7, username='baigujing', password='888888', age=800, addr='baigudong'}
User{uid=8, username='nverguowang', password='888888', age=18, addr='nuerguo'}
User{uid=9, username='heixiongjing', password='888888', age=1800, addr='heifengdong'}
User{uid=10, username='tieshan', password='888888', age=900, addr='huoyanshan'}
User{uid=11, username='lishushu', password='888888', age=18, addr='beijing'}
User{uid=12, username='change', password='888888', age=1000, addr='guanghangong'}

自律可以幫助你做你不想做但又必須做的事...加油!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • MyBatis 是什么? MyBatis是第一個(gè)支持自定義SQL、存儲(chǔ)過程和高級(jí)映射的類持久框架。 MyBatis...
    Java_蘇先生閱讀 409評(píng)論 0 0
  • 1.添加mybatis的依賴,目前版本是3.4.6,除此之外還有junit和mysql的驅(qū)動(dòng)依賴分別引入進(jìn)來 <?...
    熱愛加班的小青年閱讀 253評(píng)論 0 0
  • Mybatis基礎(chǔ) 1添加mybatis的依賴,目前版本是3.4.6,除此之外還有junit和mysql的驅(qū)動(dòng)依賴...
    千峰yuwenle閱讀 111評(píng)論 0 0
  • Mybatis基礎(chǔ) 添加mybatis的依賴,目前版本是3.4.6,除此之外還有junit和mysql的驅(qū)動(dòng)依賴分...
    落羽離殤閱讀 190評(píng)論 0 0
  • #千鋒逆戰(zhàn)# 1.添加mybatis的依賴,將junit和mysql的驅(qū)動(dòng)依賴分別引入進(jìn)來 2.在resource...
    嗝__閱讀 133評(píng)論 0 0

友情鏈接更多精彩內(nèi)容